:root {
    --bg-deep: #eef3e6;
    --bg-panel: #fff;
    --bg-surface: #fcfef7;
    --fg-primary: #1c251e;
    --fg-muted: #4a564d;
    --line-muted: rgba(48, 62, 52, 0.18);
    --green: #577344;
    --green-dark: #2e422d;
    --green-soft: rgba(87, 115, 68, 0.15);
    --teal: #8fb88c;
    --shadow: 0 35px 80px rgba(24, 32, 28, 0.18);
    --content-max: 1200px;
    --radius-xxl: 2.75rem;
    --radius-xl: 2rem;
    --radius-lg: 1.5rem;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    margin: 0;
    background: radial-gradient(circle at 20% 0%, rgba(143, 184, 140, 0.35), transparent 50%), var(--bg-deep);
    color: var(--fg-primary);
    line-height: 1.6;
}

body.theme-dark {
    --bg-deep: #050608;
    --bg-panel: #0b0f16;
    --bg-surface: #111725;
    --surface-panel: #0e1320;
    --surface-card: #151b2c;
    --surface-glow: #1d2336;
    --fg-primary: #f5f7ff;
    --fg-muted: #9ea7c3;
    --line-muted: rgba(255, 255, 255, 0.08);
    --green: #7c88ff;
    --green-dark: #c3c9ff;
    --green-soft: rgba(124, 136, 255, 0.12);
    --teal: #53d8ce;
    --shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    --accent-primary: #7c88ff;
    --accent-secondary: #53d8ce;
    background: var(--bg-deep);
    color: var(--fg-primary);
}

body.theme-dark .site-header {
    background: #080a11;
    border-bottom: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .site-nav {
    color: var(--fg-muted);
}

body.theme-dark .site-nav a:hover {
    color: #fff;
}

body.theme-dark .site-actions .btn--secondary {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.25);
    box-shadow: none;
}

body.theme-dark .site-footer {
    background: rgba(9, 11, 18, 0.9);
    border-top: 1px solid var(--line-muted);
    color: var(--fg-muted);
}

body.theme-dark .site-footer__bottom {
    color: var(--fg-muted);
}

body.theme-dark .hero--wallet {
    background: #0f1119;
    box-shadow: none;
}

body.theme-dark .hero--wallet::before {
    background: none;
}

body.theme-dark .hero__copy h1 {
    color: var(--fg-primary);
}

body.theme-dark .hero__copy .lead,
body.theme-dark .hero__note {
    color: var(--fg-muted);
}

body.theme-dark .hero__pill {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

body.theme-dark .hero__bullets li::before {
    color: var(--fg-primary);
}

body.theme-dark .hero__detail-card {
    background: #151926;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .hero__detail-list {
    color: var(--fg-muted);
}

body.theme-dark .logo-ticker {
    background: #0d111c;
    border: 1px solid var(--line-muted);
    color: var(--fg-muted);
    box-shadow: none;
}

body.theme-dark .logo-ticker__scroll span {
    color: var(--fg-primary);
}

body.theme-dark .section.metrics {
    background: #0f121e;
    border-radius: 2.5rem;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .metric-card {
    background: #151926;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .metric-card__value {
    color: #fff;
}

body.theme-dark .metric-card__detail {
    color: var(--fg-muted);
}

body.theme-dark .section--panels {
    background: #121626;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .usecase-card {
    background: #181b2a;
    border-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .section--feature-stack {
    background: #121421;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .wallet-os__highlights div {
    background: #151926;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .wallet-os__highlights .value {
    color: #fff;
}

body.theme-dark .stack-card {
    background: #151826;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .stack-card--accent {
    background: #1d2135;
    border-color: transparent;
}

body.theme-dark .stack-card__icon {
    background: rgba(255, 255, 255, 0.08);
    color: var(--fg-primary);
}

body.theme-dark .section--dark {
    background: #0b0d14;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .timeline__item {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .section:not(.section--panels):not(.section--feature-stack):not(.section--dark):not(.metrics) {
    background: #0d1019;
    border-radius: 2.25rem;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark blockquote {
    background: #141621;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark blockquote::before {
    color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .cta {
    background: #131726;
    border: 1px solid var(--line-muted);
    box-shadow: none;
    color: var(--fg-primary);
}

body.theme-dark .page-hero,
body.theme-dark .page-hero--features,
body.theme-dark .page-hero--solutions,
body.theme-dark .page-hero--about {
    background: var(--surface-panel);
    border: 1px solid var(--line-muted);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
    color: var(--fg-primary);
}

body.theme-dark .page-hero__lead {
    color: var(--fg-muted);
}

body.theme-dark .page-hero__panel,
body.theme-dark .page-panel,
body.theme-dark .feature-cta-panel,
body.theme-dark .solutions-panel,
body.theme-dark .about-panel {
    background: var(--surface-card);
    border: 1px solid var(--line-muted);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    color: var(--fg-primary);
}

body.theme-dark .page-panel__title,
body.theme-dark .page-hero__panel h3 {
    color: var(--fg-primary);
}

body.theme-dark .page-panel__subtitle,
body.theme-dark .page-hero__panel p,
body.theme-dark .page-hero__panel .checklist li {
    color: var(--fg-muted);
}

body.theme-dark .page-pill {
    background: rgba(124, 136, 255, 0.12);
    color: var(--fg-primary);
    border: 1px solid rgba(124, 136, 255, 0.4);
}

body.theme-dark .page-stat {
    background: var(--surface-card);
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
}

body.theme-dark .page-stat span {
    color: var(--accent-primary, var(--fg-primary));
}

body.theme-dark .page-stat p {
    color: var(--fg-muted);
}

body.theme-dark .capability-callout {
    background: #121626;
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
}

body.theme-dark .feature-highlight,
body.theme-dark .feature-card {
    background: var(--surface-card);
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.35);
}

body.theme-dark .feature-highlight .label,
body.theme-dark .feature-card__tag,
body.theme-dark .feature-card__description,
body.theme-dark .feature-card .checklist li {
    color: var(--fg-muted);
}

body.theme-dark .solution-card,
body.theme-dark .pillar-card,
body.theme-dark .contact-card,
body.theme-dark .story-panel,
body.theme-dark .contact-form {
    background: var(--surface-card);
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

body.theme-dark .solution-card__points li,
body.theme-dark .contact-card__meta strong,
body.theme-dark .story-panel a {
    color: var(--fg-primary);
}

body.theme-dark .solution-card__points li::before {
    background: var(--green);
}

body.theme-dark .features-panel__badge {
    background: #181c2a;
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
}

body.theme-dark .hero__chips span {
    background: rgba(124, 136, 255, 0.12);
    border: 1px solid rgba(124, 136, 255, 0.3);
    color: var(--fg-primary);
}

body.theme-dark .wallet-pass {
    background: #15192a;
    border: 1px solid var(--line-muted);
    box-shadow: none;
}

body.theme-dark .wallet-pass--event {
    background: #1b1f33;
}

body.theme-dark .wallet-pass--member {
    background: #16242b;
}

body.theme-dark .wallet-pass--loyalty {
    background: #281b2a;
}

body.theme-dark .btn {
    box-shadow: none;
}

body.theme-dark .btn--primary {
    background: #4c5bff;
}

body.theme-dark .btn--secondary,
body.theme-dark .btn--ghost {
    background: #0c0e16;
    border-color: rgba(255, 255, 255, 0.25);
    color: var(--fg-primary);
}

body.theme-dark .btn--ghost-light {
    border-color: rgba(255, 255, 255, 0.35);
}

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

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: saturate(180%) blur(16px);
    border-bottom: 1px solid var(--line-muted);
}

.site-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.site-logo img {
    height: 32px;
    width: auto;
    display: block;
}

.site-logo--footer img {
    height: 40px;
}

.site-nav {
    display: flex;
    gap: 1.5rem;
    font-weight: 500;
    color: var(--fg-muted);
    flex-wrap: wrap;
}

.site-nav a:hover {
    color: var(--green-dark);
}

.site-actions {
    display: flex;
    gap: 0.8rem;
    align-items: center;
}

.hero--renewed {
    position: relative;
    overflow: hidden;
    padding: 5rem 1.5rem 4rem;
    background: linear-gradient(130deg, #fbfdf9, #edf5e9 55%, #dfe8d3);
    border-radius: 0 0 70px 70px;
}

.hero--renewed::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 0%, rgba(143, 184, 140, 0.35), transparent 55%);
    pointer-events: none;
}

.hero__content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1200px;
    margin: 0 auto;
    gap: 4rem;
}

.hero__left {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hero__copy {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 520px;
}

.hero__right {
    position: relative;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
}

.hero__badge {
    display: flex;
    gap: 2rem;
    padding: 0.9rem 1.2rem;
    border-radius: 999px;
    border: 1px solid rgba(27, 44, 35, 0.1);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 15px 40px rgba(27, 44, 35, 0.12);
}

.hero__badge small {
    display: block;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fg-muted);
}

.hero__badge strong {
    display: block;
    font-size: 1.2rem;
    color: var(--green-dark);
}

.hero__device {
    width: 260px;
    border-radius: 32px;
    padding: 1.25rem;
    color: #fff;
    box-shadow: 0 35px 70px rgba(27, 44, 35, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero__device--ios {
    background: linear-gradient(140deg, #0b0c12, #1f2633 60%, #48596e);
}

.hero__device--android {
    background: linear-gradient(140deg, #143324, #2c5237 60%, #6f9465);
    transform: translateY(-40px);
}

.hero__device-status {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.hero__device-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.hero__device-amount {
    margin: 0.4rem 0 0;
    font-size: 1.8rem;
    font-weight: 600;
}

.hero__device-meta {
    margin-top: 1rem;
    display: inline-flex;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

.hero--wallet {
    padding: 5rem 1.5rem 4rem;
    border-radius: 0 0 60px 60px;
    background: #0f1119;
    position: relative;
    overflow: hidden;
    margin-bottom: 3rem;
}

.hero--wallet::before {
    content: '';
    position: absolute;
    inset: 0;
    background: none;
    pointer-events: none;
}

.hero__grid--wallet {
    position: relative;
    z-index: 1;
    align-items: center;
    gap: 4rem;
}

.hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.hero__chips span {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(73, 92, 130, 0.15);
    color: var(--fg-muted);
    font-weight: 600;
}

.hero__subline {
    margin: 0;
    font-size: 0.95rem;
    color: var(--fg-muted);
    margin-top: 0.75rem;
}

.hero__bullets {
    list-style: none;
    padding: 0;
    margin: 1.25rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: var(--fg-muted);
    font-size: 0.95rem;
}

.hero__bullets li {
    display: flex;
    gap: 0.35rem;
}

.hero__bullets li::before {
    content: '•';
    color: var(--fg-primary);
}

.hero__note {
    margin: 1.5rem 0 0;
    font-size: 0.95rem;
    color: var(--fg-muted);
}

.hero__visual {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-end;
}

.hero__visual-balanced {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(240px, 1fr);
    gap: 2.25rem;
    align-items: stretch;
}

.hero__pass-stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
}

.wallet-pass {
    width: 100%;
    max-width: 260px;
    border-radius: 22px;
    padding: 1.25rem;
    color: #fff;
    box-shadow: 0 20px 35px rgba(10, 15, 30, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
    overflow: hidden;
}

.wallet-pass--event {
    background: linear-gradient(145deg, #0b1325, #1f2c5c 60%, #5e7bff);
}

.wallet-pass--member {
    background: linear-gradient(145deg, #0e2d32, #1f5c6a 65%, #47d6c0);
}

.wallet-pass--loyalty {
    background: linear-gradient(145deg, #331231, #6a1b5d 55%, #ff81b5);
}

.wallet-pass__label {
    text-transform: uppercase;
    letter-spacing: 0.25em;
    font-size: 0.68rem;
    color: rgba(255, 255, 255, 0.75);
    margin: 0 0 0.4rem;
}

.wallet-pass__stat {
    margin: 0.25rem 0 0.8rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
}

.wallet-pass__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.wallet-pass__list li {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.85);
}

.wallet-pass__list span {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.6rem;
    opacity: 0.75;
}

.wallet-pass__list strong {
    font-size: 0.95rem;
    line-height: 1.1;
}

.wallet-pass__badge {
    display: inline-flex;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.78rem;
    margin-top: 0.8rem;
}

.hero__details {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
}

.hero__detail-card {
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(73, 92, 130, 0.15);
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    box-shadow: 0 15px 35px rgba(8, 11, 17, 0.18);
}

.hero__detail-card .label {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.7rem;
    color: var(--fg-muted);
}

.hero__detail-card strong {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--fg-primary);
}

.hero__detail-card p {
    margin: 0;
    color: var(--fg-muted);
}

.hero__detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: var(--fg-muted);
}

.join-card {
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(12, 14, 22, 0.9);
    color: var(--fg-primary);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    width: 100%;
}

.join-card .card-body {
    padding: 1.75rem;
}

.join-card .form-label {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
}

.join-card .form-control {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
}

.join-card .form-control:focus {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(103, 214, 212, 0.6);
    color: #fff;
}

.join-card .btn-primary {
    background: linear-gradient(120deg, #4c5bff, #67d6d4);
    border: none;
    box-shadow: 0 12px 30px rgba(76, 91, 255, 0.4);
}

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

.hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    background: rgba(87, 115, 68, 0.15);
    color: var(--green-dark);
    margin-bottom: 1rem;
}

.hero__copy h1 {
    font-size: clamp(2.6rem, 4vw, 3.6rem);
    margin: 0.6rem 0 1rem;
    line-height: 1.2;
    color: #1b291f;
}

.hero__copy .lead {
    color: var(--fg-muted);
    font-size: 1.1rem;
    max-width: 34rem;
}

.hero__actions {
    display: inline-flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 0;
}

.hero__tags {
    margin-top: 1rem;
    display: inline-flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.hero__tags span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(46, 66, 45, 0.2);
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.9rem;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    color: var(--green);
    font-size: 0.75rem;
    font-weight: 600;
}

.eyebrow--light {
    color: rgba(255, 255, 255, 0.75);
}

.hero__cta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.8rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 10px 25px rgba(27, 44, 35, 0.12);
}

.btn--primary {
    background: linear-gradient(120deg, var(--green), var(--teal));
    color: #fff;
    box-shadow: 0 25px 45px rgba(34, 211, 238, 0.25);
}

.btn--secondary,
.btn--ghost {
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: var(--fg-primary);
    background: transparent;
}

.btn--ghost-light {
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #fff;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px rgba(27, 44, 35, 0.2);
}

.btn--ghost:hover {
    background: rgba(27, 44, 35, 0.05);
    color: var(--green-dark);
}

.btn--ghost-light:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.hero__stats {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1.5rem;
}

.hero__stats-value {
    font-size: 2rem;
    font-weight: 600;
    margin: 0;
}

.hero__stats-label {
    margin: 0.3rem 0;
    font-weight: 600;
}

.hero__stats-detail {
    margin: 0;
    color: var(--fg-muted);
    font-size: 0.9rem;
}


.hero__panel {
    border-radius: 24px;
    background: linear-gradient(125deg, rgba(255, 255, 255, 0.95), rgba(246, 252, 240, 0.95));
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: var(--shadow);
    border: 1px solid rgba(27, 44, 35, 0.08);
}

.hero__panel .label {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    color: var(--fg-muted);
    margin: 0 0 0.4rem;
}

.hero__panel .value {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
    color: var(--green-dark);
}

.hero__panel .sub {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge--positive {
    background: rgba(87, 115, 68, 0.2);
    color: var(--green-dark);
}

.hero__devices {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.8rem;
}

.hero-device {
    flex: 1;
    border-radius: 14px;
    padding: 0.9rem 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    border: 1px solid rgba(27, 44, 35, 0.08);
}

.hero-device--ios {
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
}

.hero-device--android {
    background: rgba(87, 115, 68, 0.15);
    color: var(--green-dark);
}

.hero__card {
    position: relative;
    padding: 2rem;
    border-radius: 30px;
    background: linear-gradient(145deg, #01050a, #05240f 60%, #0b3a23);
    color: #fff;
    min-height: 30rem;
    overflow: hidden;
    box-shadow: var(--shadow);
}

.hero-card__chip {
    width: 45px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
}

.hero-card__badge {
    margin-top: 1.5rem;
    display: inline-flex;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    font-size: 0.8rem;
}

.hero-card__balance {
    font-size: 2.8rem;
    font-weight: 600;
    margin: 1.5rem 0 0.5rem;
}

.hero-card__list {
    margin-top: 1.5rem;
    display: flex;
    gap: 2rem;
}

.hero-card__list .label {
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
}

.hero-card__list .value {
    font-size: 1.4rem;
    font-weight: 600;
}

.hero-card__foot {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}

.hero-card__foot .dot {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--green);
}

.hero-card__floating {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 1rem;
    padding: 0.75rem 1rem;
    font-size: 0.85rem;
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-card__floating span {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.65);
}

.logo-ticker {
    max-width: 1200px;
    margin: 2.5rem auto 0;
    padding: 1.2rem 1.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(73, 92, 130, 0.15);
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.9rem;
    color: var(--fg-muted);
    box-shadow: 0 20px 45px rgba(27, 44, 35, 0.08);
}

.logo-ticker__viewport {
    overflow: hidden;
    flex: 1;
}

.logo-ticker__scroll {
    display: inline-flex;
    gap: 2rem;
    min-width: 100%;
    animation: ticker-scroll 18s linear infinite;
    white-space: nowrap;
}

.logo-ticker__scroll span {
    font-weight: 600;
    color: var(--green-dark);
    opacity: 0.85;
}

@keyframes ticker-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.metrics {
    text-align: center;
}

.metrics__header {
    max-width: 620px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.metrics__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.25rem;
}

.metric-card {
    border-radius: 1.5rem;
    padding: 1.75rem;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(27, 44, 35, 0.08);
    box-shadow: 0 25px 50px rgba(27, 44, 35, 0.12);
    text-align: left;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.metric-card__value {
    font-size: 2.2rem;
    margin: 0;
    font-weight: 600;
    color: var(--green-dark);
}

.metric-card__label {
    margin: 0.3rem 0 0;
    font-weight: 600;
}

.metric-card__detail {
    margin: 0.3rem 0 0;
    color: var(--fg-muted);
    font-size: 0.9rem;
}

.section {
    padding: 4rem 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.section--dark {
    background: linear-gradient(145deg, #202d25, #2f4538 65%, #1f3026);
    color: #fff;
    border-radius: 2.5rem;
    margin-top: 3rem;
    padding: 4rem;
}

.section--muted {
    background: linear-gradient(150deg, rgba(151, 193, 154, 0.35), rgba(239, 245, 233, 0.9));
    border-radius: 2.25rem;
    padding: 4.5rem;
}

.section--panels {
    background: linear-gradient(135deg, #101f14, #203427);
    color: #fff;
    border-radius: 2.5rem;
    padding: 4rem;
    margin-top: 3rem;
    box-shadow: var(--shadow);
}

.section--panels .eyebrow {
    color: rgba(255, 255, 255, 0.65);
}

.section--panels .btn--ghost {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
}

.usecase-grid {
    margin-top: 2.5rem;
    display: grid;
    gap: 1rem;
}

.usecase-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1.5rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.usecase-card__icon .icon-pill {
    background: rgba(255, 255, 255, 0.12);
    border: none;
    color: #fff;
}

.usecase-card h3 {
    margin: 0;
    color: #fff;
}

.usecase-card p {
    margin: 0.35rem 0 0;
    color: rgba(255, 255, 255, 0.8);
}

.usecase-card__cta {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    color: rgba(255, 255, 255, 0.6);
    justify-self: end;
    text-align: right;
}

.section--feature-stack {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 2.5rem;
    padding: 4rem;
    box-shadow: var(--shadow);
    margin-top: 3rem;
}

.wallet-os {
    display: grid;
    gap: 2.5rem;
    align-items: start;
}

.wallet-os__intro {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    align-items: start;
}

.wallet-os__highlights {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.wallet-os__highlights div {
    border-radius: 1.25rem;
    border: 1px solid rgba(27, 44, 35, 0.12);
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 20px 45px rgba(27, 44, 35, 0.08);
}

.wallet-os__highlights .label {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.7rem;
    color: var(--fg-muted);
    margin: 0 0 0.35rem;
}

.wallet-os__highlights .value {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--green-dark);
}

.wallet-os__highlights span {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.wallet-os__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.stack-card {
    border-radius: 1.5rem;
    padding: 1.75rem;
    border: 1px solid rgba(27, 44, 35, 0.08);
    background: linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(241, 247, 235, 0.92));
    box-shadow: 0 25px 50px rgba(27, 44, 35, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.stack-card--accent {
    background: linear-gradient(145deg, #1d2f26, #326349);
    color: #fff;
    border-color: transparent;
}

.stack-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(87, 115, 68, 0.15);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    color: var(--green);
}

.stack-card--accent .stack-card__icon {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.stack-card__label {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.3em;
    color: var(--green);
    margin: 0 0 0.5rem;
}

.stack-card--accent .stack-card__label {
    color: rgba(255, 255, 255, 0.7);
}

.stack-card h3 {
    margin: 0 0 0.5rem;
    color: var(--fg-primary);
}

.stack-card p {
    margin: 0;
    color: var(--fg-muted);
}

.stack-card--accent p {
    color: rgba(255, 255, 255, 0.9);
}

.stack-card--accent h3 {
    color: #fff;
}

.section__split {
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    align-items: start;
}

.section__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
}

.section__header--center {
    flex-direction: column;
    text-align: center;
    align-items: center;
}

.feature-mosaic {
    margin-top: 2rem;
    display: grid;
    gap: 1rem;
}

.feature-mosaic div {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 1.25rem;
    padding: 1.1rem 1.3rem;
    border: 1px solid rgba(51, 63, 55, 0.08);
}

.feature-mosaic h3 {
    margin: 0 0 0.3rem;
}

.page-hero {
    max-width: 1100px;
    margin: 3rem auto 0;
    padding: 3rem;
    border-radius: 2.5rem;
    background: #eef3ea;
    border: 1px solid rgba(27, 44, 35, 0.12);
    box-shadow: var(--shadow);
    display: grid;
    gap: 2.5rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.page-hero--features {
    background: #1f3328;
    color: #f3f7f2;
    border-color: rgba(10, 18, 12, 0.6);
}

.page-hero--features h1,
.page-hero--features .eyebrow {
    color: #fefefb;
}

.page-hero--features .page-hero__lead {
    color: rgba(243, 247, 242, 0.85);
}

.page-hero--features .page-hero__panel {
    background: #243a2d;
    border-color: rgba(10, 18, 12, 0.6);
    color: #f3f7f2;
}

.page-hero--features .page-panel__subtitle {
    color: rgba(243, 247, 242, 0.7);
}

.hero__chips--features {
    margin-top: 1.25rem;
}

.hero__chips--features span {
    background: rgba(243, 247, 242, 0.1);
    color: #f3f7f2;
    border: 1px solid rgba(243, 247, 242, 0.25);
}

.page-hero--features .page-pill {
    background: rgba(243, 247, 242, 0.15);
    color: #fefefb;
    border: 1px solid rgba(243, 247, 242, 0.3);
}

.features-panel__badge {
    margin-top: 1.25rem;
    padding: 0.9rem 1rem;
    border-radius: 1.25rem;
    background: #1b2d23;
    border: 1px solid rgba(243, 247, 242, 0.15);
}

.features-panel__badge span {
    display: block;
    font-weight: 600;
    color: #f3f7f2;
}

.features-panel__badge p {
    margin: 0.25rem 0 0;
    color: rgba(243, 247, 242, 0.7);
    font-size: 0.9rem;
}

.checklist--dense li {
    margin-bottom: 0.4rem;
}

.page-hero__lead {
    font-size: 1.05rem;
    color: var(--fg-muted);
    max-width: 34rem;
    margin-top: 1rem;
}

.page-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.5rem;
}

.page-hero__panel {
    border-radius: 1.75rem;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(27, 44, 35, 0.08);
    padding: 2rem;
    box-shadow: var(--shadow);
}

.page-panel__title {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0;
    color: var(--green-dark);
}

.page-panel__subtitle {
    margin: 0.4rem 0 0;
    color: var(--fg-muted);
}

.page-hero--features .page-panel__subtitle {
    color: rgba(243, 247, 242, 0.7);
}

.page-hero--features .page-hero__panel p {
    color: rgba(243, 247, 242, 0.85);
}

.page-hero--features .page-hero__panel .checklist li {
    color: rgba(243, 247, 242, 0.85);
}

.feature-cta-panel {
    background: #243a2d;
    color: #f3f7f2;
    border-color: rgba(10, 18, 12, 0.4);
}

.page-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 0.35rem 0.9rem;
    border-radius: 999px;
    background: var(--green-soft);
    color: #0d2215;
}

.page-stat {
    flex: 1 1 140px;
    min-width: 150px;
    border-radius: 1.25rem;
    border: 1px solid rgba(27, 44, 35, 0.08);
    background: rgba(255, 255, 255, 0.85);
    padding: 1rem 1.25rem;
}

.page-stat span {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--green-dark);
}

.page-stat p {
    margin: 0.2rem 0 0;
    color: var(--fg-muted);
    font-size: 0.9rem;
}

.page-hero--features .page-stat {
    background: rgba(243, 247, 242, 0.1);
    border-color: rgba(243, 247, 242, 0.2);
}

.page-hero--features .page-stat span {
    color: #f3f7f2;
}

.page-hero--features .page-stat p {
    color: rgba(243, 247, 242, 0.75);
}

.page-section {
    max-width: var(--content-max);
    margin: 3rem auto;
    padding: 0 1.5rem;
}

.page-section:not(.page-section--bare) {
    padding: clamp(2.75rem, 5vw, 4rem) 2rem;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(27, 44, 35, 0.08);
    background: var(--bg-panel);
    box-shadow: var(--shadow);
}

.page-section--bare {
    padding: 0 1.5rem;
    border: none;
    background: transparent;
}

body.theme-dark .page-section:not(.page-section--bare) {
    background: var(--surface-panel);
    border: 1px solid var(--line-muted);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.45);
}

.section--reviews {
    margin-top: 4rem;
    padding-top: 3rem;
}

.feature-highlights {
    max-width: 1100px;
    margin-top: 2.5rem;
}

.capability-callout {
    max-width: 1100px;
    margin: 3rem auto;
    padding: 2.5rem;
    border-radius: 2rem;
    background: #1f3328;
    color: #f3f7f2;
    border: 1px solid rgba(10, 18, 12, 0.6);
    display: grid;
    gap: 1rem;
}

.capability-callout .hero__cta .btn--ghost {
    border-color: rgba(243, 247, 242, 0.35);
    color: #f3f7f2;
}

.feature-highlight-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.feature-highlight {
    border-radius: 1.75rem;
    padding: 1.75rem;
    background: #243428;
    border: 1px solid rgba(10, 18, 12, 0.4);
    box-shadow: none;
    color: #f3f7f2;
}

.feature-highlight .label {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(243, 247, 242, 0.75);
    margin: 0 0 0.4rem;
}

.feature-highlight h3 {
    margin: 0 0 0.5rem;
    color: #f3f7f2;
}

.page-section__intro {
    color: var(--fg-muted);
    max-width: 44rem;
    margin-top: 0.75rem;
}

.page-panel {
    border-radius: 1.75rem;
    border: 1px solid rgba(27, 44, 35, 0.08);
    background: rgba(255, 255, 255, 0.9);
    padding: 2rem;
    box-shadow: var(--shadow);
}

.feature-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    max-width: 1100px;
    margin: 0 auto;
}

.feature-grid-wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

.feature-card {
    padding: 1.85rem;
    background: #f2f6ef;
    border: 1px solid rgba(27, 44, 35, 0.15);
    border-radius: 1.5rem;
    box-shadow: none;
    color: var(--fg-primary);
}

.feature-card h3 {
    margin: 0 0 0.5rem;
    color: var(--fg-primary);
}

.feature-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.feature-card__tag {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.3em;
    color: var(--green-dark);
}

.feature-card__index {
    display: inline-block;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--fg-muted);
    margin-bottom: 0.4rem;
}

.feature-card__description {
    color: var(--fg-muted);
    margin: 0.5rem 0 0;
}

.feature-card .checklist {
    margin-top: 1rem;
}

.feature-card .checklist li {
    color: var(--fg-muted);
}

.solutions-grid {
    display: grid;
    gap: 1.5rem;
}

.solution-card {
    padding: 2rem;
    border-radius: 1.75rem;
    border: 1px solid var(--line-muted);
    background: #0f1219;
    box-shadow: none;
}

.solution-card__points {
    margin-top: 1.25rem;
    list-style: none;
    padding: 0;
}

.solution-card__points li {
    position: relative;
    padding-left: 1.4rem;
    margin-bottom: 0.5rem;
    color: var(--fg-muted);
}

.solution-card__points li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--green);
    position: absolute;
    left: 0;
    top: 0.65rem;
}

.plan-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.plan-card {
    border-radius: 1.75rem;
    border: 1px solid rgba(27, 44, 35, 0.1);
    background: rgba(255, 255, 255, 0.92);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: var(--shadow);
}

.plan-card--highlight {
    background: linear-gradient(140deg, #1f2f27, #355741);
    color: #fff;
    border-color: transparent;
}

.plan-card__title {
    text-transform: uppercase;
    letter-spacing: 0.3em;
    font-size: 0.75rem;
    color: var(--green);
}

.plan-card--highlight .plan-card__title {
    color: rgba(255, 255, 255, 0.75);
}

.plan-card__price {
    font-size: 2.5rem;
    font-weight: 600;
    margin: 0;
}

body.theme-dark .plan-card {
    background: var(--surface-card);
    border: 1px solid var(--line-muted);
    color: var(--fg-primary);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

body.theme-dark .plan-card--highlight {
    background: linear-gradient(140deg, #1e2540, #303c63);
    border-color: transparent;
}

body.theme-dark .plan-card__title,
body.theme-dark .plan-card__price,
body.theme-dark .plan-card__copy,
body.theme-dark .plan-card__unit,
body.theme-dark .plan-card__list li,
body.theme-dark .plan-card__cta {
    color: var(--fg-primary);
}

body.theme-dark .plan-card__list li::before {
    background: var(--green);
}

.plan-card__unit {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.plan-card--highlight .plan-card__unit,
.plan-card--highlight .plan-card__copy {
    color: rgba(255, 255, 255, 0.8);
}

.plan-card__pricing {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.plan-card__copy {
    color: var(--fg-muted);
    margin: 0;
}

.plan-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    color: var(--fg-muted);
}

.plan-card__list li {
    position: relative;
    padding-left: 1.25rem;
}

.plan-card__list li::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--green);
    position: absolute;
    left: 0;
    top: 0.55rem;
}

.plan-card--highlight .plan-card__list li::before {
    background: #fff;
}

.plan-card__cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.85rem 1.25rem;
    border-radius: 999px;
    font-weight: 600;
    margin-top: auto;
    border: 1px solid var(--green-dark);
    color: var(--green-dark);
}

.plan-card--highlight .plan-card__cta {
    border-color: rgba(255, 255, 255, 0.6);
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.pillar-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.pillar-card {
    border-radius: 1.5rem;
    border: 1px solid rgba(27, 44, 35, 0.1);
    background: rgba(255, 255, 255, 0.9);
    padding: 1.5rem;
    box-shadow: var(--shadow);
}

.story-panel {
    margin-top: 2rem;
    border-radius: 2rem;
    background: linear-gradient(135deg, #1f3026, #324c3b);
    color: #fff;
    padding: 2.5rem;
    box-shadow: var(--shadow);
}

.story-panel p {
    color: rgba(255, 255, 255, 0.85);
}

.story-panel a {
    display: inline-flex;
    align-items: center;
    margin-top: 1.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
    background: #fff;
    color: var(--green-dark);
    font-weight: 600;
}

.contact-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.contact-card {
    border-radius: 1.75rem;
    border: 1px solid var(--line-muted);
    background: #0f1219;
    padding: 2rem;
    box-shadow: none;
    color: var(--fg-primary);
}

.contact-card__meta {
    margin: 1.5rem 0 0;
    display: grid;
    gap: 1rem;
}

.contact-card__meta p {
    margin: 0;
    color: var(--fg-muted);
}

.contact-form {
    border-radius: 1.75rem;
    border: 1px solid var(--line-muted);
    background: #0f1219;
    padding: 2rem;
    box-shadow: none;
    color: var(--fg-primary);
}

.contact-form__footer {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9rem;
    color: var(--fg-muted);
}

.form-alert {
    border-radius: 1.25rem;
    padding: 1rem 1.2rem;
    margin-bottom: 1.5rem;
    font-size: 0.9rem;
}

.form-alert--error {
    background: rgba(248, 113, 113, 0.15);
    color: #7f1d1d;
    border: 1px solid rgba(127, 29, 29, 0.15);
}

.form-alert ul {
    margin: 0.5rem 0 0;
    padding-left: 1.25rem;
}

.card-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.card {
    border-radius: 1.5rem;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid rgba(27, 44, 35, 0.08);
    box-shadow: var(--shadow);
    position: relative;
    min-height: 180px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card h3 {
    margin-top: 1rem;
    margin-bottom: 0.4rem;
}

.card__badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    color: var(--green);
}

.card:hover,
.metric-card:hover,
.usecase-card:hover,
.stack-card:hover,
.audience-card:hover,
.security-card:hover,
.case-study:hover,
.cta:hover,
blockquote:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 60px rgba(27, 44, 35, 0.18);
}

.icon-pill {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--green-soft);
    color: var(--green);
}

.timeline {
    margin-top: 2.5rem;
    display: grid;
    gap: 1.5rem;
}

.timeline__item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: rgba(18, 24, 20, 0.35);
    border-radius: 1.5rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.timeline__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.audience-grid {
    margin-top: 2.5rem;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.audience-card {
    border-radius: 1.5rem;
    border: 1px solid rgba(49, 63, 55, 0.12);
    padding: 1.75rem;
    background: #fff;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.audience-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(151, 193, 154, 0.3);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    color: var(--green);
}

.audience-card span {
    font-weight: 600;
    color: var(--green);
}

.checklist {
    list-style: none;
    padding: 0;
    margin-top: 1.5rem;
}

.checklist li {
    margin-bottom: 0.7rem;
    padding-left: 1.5rem;
    position: relative;
}

.checklist li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--green);
    position: absolute;
    left: 0;
    top: 8px;
}

.security-card {
    background: #f7fbf3;
    color: var(--green-dark);
    border-radius: 1.75rem;
    padding: 2rem;
    border: 1px solid rgba(49, 63, 55, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.security-card .label {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    opacity: 0.7;
}

.security-card .value {
    font-size: 1.1rem;
    font-weight: 600;
}

.testimonial-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

blockquote {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 1.5rem;
    padding: 2rem;
    border: 1px solid rgba(27, 44, 35, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
}

blockquote cite {
    display: block;
    margin-top: 1rem;
    font-weight: 600;
    color: var(--fg-muted);
}

.testimonial-quote {
    margin: 0;
    font-size: 1rem;
    color: var(--fg-primary);
}

.testimonial-author {
    font-weight: 600;
    color: var(--fg-muted);
}

blockquote::before {
    content: '“';
    font-size: 4rem;
    line-height: 1;
    color: rgba(87, 115, 68, 0.18);
    position: absolute;
    top: -10px;
    left: 20px;
}

.case-study {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 2rem;
    box-shadow: var(--shadow);
    align-items: center;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding: 3rem;
    border: 1px solid rgba(27, 44, 35, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.case-study__metric {
    border-left: 1px solid rgba(27, 44, 35, 0.12);
    padding-left: 1.5rem;
}

.case-study__metric span {
    display: block;
    font-size: 2rem;
    font-weight: 600;
}

.cta {
    max-width: 1200px;
    margin: 4rem auto;
    padding: 3.5rem;
    background: linear-gradient(120deg, #dfe9d3, #fdfef9);
    border-radius: 2rem;
    display: flex;
    flex-wrap: wrap;
    color: var(--green-dark);
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.cta__actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.site-footer {
    background: rgba(255, 255, 255, 0.95);
    padding: 3rem 1.5rem;
    border-top: 1px solid var(--line-muted);
}

.site-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.site-footer__bottom {
    margin-top: 2rem;
    text-align: center;
    color: var(--fg-muted);
    font-size: 0.85rem;
}

.alert {
    background: rgba(151, 193, 154, 0.3);
    color: var(--green-dark);
    padding: 0.85rem;
    text-align: center;
    font-weight: 500;
}

.auth-shell {
    min-height: calc(100vh - 70px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
}

.form-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 1.75rem;
    padding: 2.5rem;
    box-shadow: var(--shadow);
    border: 1px solid rgba(49, 63, 55, 0.12);
}

.form-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--fg-primary);
    display: block;
    margin-bottom: 0.4rem;
}

.form-input {
    width: 100%;
    padding: 0.85rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(49, 63, 55, 0.15);
    background: rgba(255, 255, 255, 0.7);
    color: var(--fg-primary);
}

.form-input:focus {
    outline: none;
    border-color: var(--green);
}

.form-checkbox {
    accent-color: var(--green);
}

.form-row {
    display: grid;
    gap: 1rem;
}

.form-row--split {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.form-error {
    color: #fca5a5;
    font-size: 0.85rem;
    margin-top: 0.35rem;
}

.form-status {
    background: rgba(34, 197, 94, 0.2);
    color: #c8fce2;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

.form-meta {
    font-size: 0.85rem;
    color: var(--fg-muted);
}

.form-link {
    color: var(--green);
    font-weight: 600;
}

@media (max-width: 1024px) {
    .hero {
        border-radius: 0;
        padding: 4rem 1rem 2.5rem;
    }

    .hero__copy {
        text-align: center;
    }

    .hero__grid--wallet {
        grid-template-columns: 1fr;
    }

    .hero__right {
        min-height: 320px;
        align-items: center;
    }

    .hero__visual {
        align-items: center;
    }

    .hero__pass-stack,
    .hero__details {
        align-items: center;
        width: 100%;
    }

    .wallet-pass {
        max-width: 200px;
    }

    .hero__actions {
        justify-content: center;
    }

    .hero__stats {
        text-align: center;
    }

    .logo-ticker {
        flex-direction: column;
        text-align: center;
        border-radius: 1.5rem;
    }

    .section,
    .section--dark,
    .section--muted {
        padding: 3rem 1.5rem;
    }

    .section--panels,
    .section--feature-stack {
        padding: 3rem 2rem;
    }

    .timeline__item {
        flex-direction: column;
    }

    .cta {
        text-align: center;
        border-radius: 1.5rem;
    }

    .cta__actions {
        justify-content: center;
    }

    .site-nav {
        flex-wrap: wrap;
        justify-content: center;
    }

    .site-header__inner {
        flex-direction: column;
    }

    .site-actions {
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    .hero__visual-balanced {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .hero__pass-stack,
    .hero__details {
        width: 100%;
        align-items: center;
    }

    .wallet-pass {
        max-width: 240px;
    }

    .hero__details {
        align-items: stretch;
    }

    .page-hero {
        margin-top: 2rem;
        padding: 2.5rem;
    }

    .plan-card,
    .contact-card,
    .contact-form {
        padding: 1.75rem;
    }
}

@media (max-width: 640px) {
    .section__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .card-grid,
    .audience-grid,
    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .section--dark,
    .section--muted {
        border-radius: 1.5rem;
    }

    .logo-ticker__scroll {
        display: flex;
        flex-wrap: wrap;
        animation: none;
        white-space: normal;
        justify-content: center;
        gap: 1rem;
    }

    .feature-mosaic div {
        text-align: center;
    }

    .page-hero {
        grid-template-columns: 1fr;
        padding: 2rem 1.5rem;
        text-align: center;
    }

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

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

    .contact-form__footer {
        flex-direction: column;
        text-align: center;
    }

    .hero__right {
        align-items: center;
        gap: 1rem;
    }

    .hero__badge {
        flex-direction: column;
        width: 100%;
        justify-content: center;
    }

    .hero__device {
        width: 100%;
        max-width: 320px;
        transform: none;
    }

    .hero__chips {
        justify-content: center;
    }

    .hero__visual {
        align-items: center;
    }

    .wallet-pass {
        max-width: 200px;
    }

    .usecase-card {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .usecase-card__cta {
        justify-self: flex-start;
        margin-top: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .logo-ticker__scroll {
        animation: none;
    }

    .card:hover,
    .metric-card:hover,
    .usecase-card:hover,
    .stack-card:hover,
    .audience-card:hover,
    .security-card:hover,
    .case-study:hover,
    .cta:hover,
    blockquote:hover {
        transform: none;
        box-shadow: var(--shadow);
    }

    .btn {
        transition: none;
    }
}
.page-hero--solutions,
.page-hero--about {
    background: #1b2d23;
    color: #f6fbf4;
    border-color: rgba(8, 16, 10, 0.5);
}

.page-hero--solutions .page-pill,
.page-hero--about .page-pill {
    background: rgba(246, 251, 244, 0.12);
    color: #f6fbf4;
    border: 1px solid rgba(246, 251, 244, 0.3);
}

.page-hero--solutions .page-hero__lead,
.page-hero--about .page-hero__lead {
    color: rgba(246, 251, 244, 0.8);
}

.solutions-panel,
.about-panel {
    background: #233528;
    color: #f6fbf4;
    border-color: rgba(8, 16, 10, 0.5);
}

.solutions-panel .page-panel__subtitle,
.about-panel .page-panel__subtitle {
    color: rgba(246, 251, 244, 0.7);
}

.solutions-panel .checklist li,
.about-panel .checklist li {
    color: rgba(246, 251, 244, 0.8);
}
