/* Public site */.public-nav{height:84px;display:flex;align-items:center;justify-content:space-between}.public-nav nav{display:flex;gap:30px;color:var(--muted);font-weight:600}.public-nav nav a:hover,.public-footer a:hover{color:var(--ink)}.nav-actions{display:flex;gap:9px;align-items:center}.hero{min-height:590px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding-top:38px;padding-bottom:65px}.hero-copy h1{font-size:clamp(54px,6vw,79px);margin:23px 0 22px}.hero-copy h1 span{color:var(--primary);position:relative}.hero-lede{font-size:17px;max-width:470px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.text-link{font-weight:700;font-size:13px}.text-link span{color:var(--accent);margin-left:6px}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:43px}.hero-proof p{margin:0;font-size:12px;line-height:1.6}.hero-proof strong{color:var(--ink)}.hero-proof small{color:var(--muted)}.proof-avatars{display:flex;padding-left:4px}.proof-avatars span{display:grid;place-items:center;width:29px;height:29px;border:2px solid var(--bg);border-radius:50%;margin-left:-5px;background:#d6e5d9;color:#244b39;font-weight:800;font-size:10px}.proof-avatars span:nth-child(2){background:#f1d6b7}.proof-avatars span:nth-child(3){background:#dcd4f1}.hero-visual{position:relative;min-height:440px;display:grid;place-items:center;isolation:isolate}.hero-visual:before{content:'';position:absolute;width:365px;height:365px;border-radius:50%;background:#e6ece3;z-index:-2}.orbit{position:absolute;border:1px solid #d3ddd2;border-radius:50%;z-index:-1}.orbit-one{width:470px;height:470px}.orbit-two{width:550px;height:550px;border-style:dashed;opacity:.7}.mini-label{position:absolute;top:26px;left:20px;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--muted);display:flex;gap:8px;align-items:center}.status-dot{width:7px;height:7px;border-radius:50%;background:#66a981;display:inline-block;box-shadow:0 0 0 4px #66a98120}.balance-card{position:relative;width:min(390px,82%);min-height:225px;padding:24px 25px 0;background:#214d3b;color:#f5f7f2;border-radius:20px;box-shadow:0 25px 55px #183b2a35;overflow:hidden;transform:rotate(-3deg)}.balance-head,.balance-foot{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#d2e0d5}.tiny-pill{font-size:8px;letter-spacing:.1em;border:1px solid #ffffff45;padding:4px 7px;border-radius:6px}.balance-amount{font-family:Manrope;font-weight:800;font-size:42px;letter-spacing:-.06em;margin-top:20px}.balance-amount span{font-size:25px;color:#bad0bf}.balance-foot{margin-top:10px}.balance-wave{height:73px;margin:6px -5px 0;color:#9dc4a8}.balance-wave svg{width:100%;height:100%}.float-card{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);font-size:10px}.float-card strong,.float-card small{display:block}.float-card strong{font-size:11px}.float-card small{color:var(--muted);margin-top:2px}.float-card b{font-size:11px;margin-left:6px}.float-transfer{right:-5px;top:115px}.float-growth{left:-2px;bottom:76px}.float-icon,.growth-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#e4f1e6;color:#2e7551;font-size:17px}.growth-icon{background:#f2e8d9;color:#a76c2f}.float-growth b{color:var(--green)}.visual-caption{position:absolute;bottom:10px;font-size:10px;color:var(--muted);letter-spacing:.04em}.trust-strip{border-block:1px solid var(--line);background:var(--surface-2)}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;font-size:9px;font-weight:800;letter-spacing:.13em;color:var(--muted)}.trust-inner i{width:4px;height:4px;background:var(--accent);border-radius:50%}.section{padding-top:105px;padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading h2,.how-inner h2{font-size:clamp(35px,4vw,49px);margin:15px 0 0}.section-heading>p{max-width:310px;line-height:1.8;margin-bottom:4px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{position:relative;min-height:310px;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:25px;overflow:hidden}.feature-dark{background:#203f32;color:#f7faf5;border-color:#203f32}.feature-dark p{color:#cad7ce}.feature-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e3eee5;color:#2d6948;font-size:20px;margin-bottom:23px}.feature-icon-orange{background:#f5e7d6;color:#b97836}.feature-icon-purple{background:#ece6fa;color:#7961b0}.feature-index{font-size:9px;letter-spacing:.13em;font-weight:800;color:var(--muted)}.feature-dark .feature-index{color:#b4c9b9}.feature-card h3{font-size:20px;letter-spacing:-.04em;margin:11px 0 8px}.feature-card p{font-size:12px;line-height:1.8;max-width:260px;margin-bottom:0}.wallet-stack{display:flex;gap:7px;position:absolute;bottom:-3px;left:25px;right:25px;transform:rotate(-3deg)}.wallet-stack span{display:flex;justify-content:space-between;align-items:center;flex:1;padding:13px 10px;border-radius:9px 9px 0 0;background:#2d5745;border:1px solid #ffffff22;color:#dce9df;font-size:10px}.wallet-stack span:nth-child(2){transform:translateY(-8px);background:#315f4b}.wallet-stack b{font-size:17px}.route-visual{display:flex;align-items:center;gap:10px;position:absolute;bottom:26px;left:25px;right:25px;font-size:10px;font-weight:700}.route-line{position:relative;flex:1;color:#b9c3b9;letter-spacing:3px;border-top:1px dashed var(--line);text-align:center}.route-line b{position:absolute;right:0;top:-13px;color:var(--accent);font-size:17px}.bars-visual{position:absolute;bottom:0;right:24px;left:24px;height:80px;display:flex;gap:10px;align-items:end}.bars-visual i{display:block;flex:1;background:#cfc4ee;border-radius:5px 5px 0 0;opacity:.85}.bars-visual i:nth-child(2n){background:#a99bd8}.feature-goal{grid-column:1/-1;min-height:180px;display:flex;align-items:center;gap:28px}.feature-goal p{max-width:440px}.goal-ring,.goal-mini-ring{display:grid;place-items:center;width:105px;height:105px;border-radius:50%;background:conic-gradient(#4f8d68 0 68%,#e7ede5 68% 100%);position:relative;flex-shrink:0}.goal-ring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.goal-ring span{z-index:1;font-family:Manrope;font-size:26px;font-weight:800}.goal-ring small{font-size:13px}.how-section{background:#e9eee7;color:#20352a;padding:85px 0}.how-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.how-inner .muted{max-width:360px;line-height:1.8;margin:20px 0 25px;color:#68786c}.steps article{display:grid;grid-template-columns:38px 1fr 20px;gap:17px;align-items:start;padding:23px 0;border-bottom:1px solid #d2dcd1}.steps article:first-child{border-top:1px solid #d2dcd1}.steps article>span{font-size:11px;color:#839486;font-weight:800;padding-top:4px}.steps h3{font-size:16px;margin:0 0 5px}.steps p{font-size:12px;margin:0;color:#748176}.steps article>b{font-size:16px;color:#78917d}.public-footer{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.public-footer .brand{color:var(--ink);font-size:15px}.public-footer .brand-mark{width:25px;height:25px;font-size:17px}

/* Public landing page: balanced product preview and responsive navigation. */
.wrap {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.public-nav {
    position: relative;
    z-index: 30;
    min-height: 76px;
    height: auto;
    gap: 24px;
}

.public-menu {
    display: contents;
}

.public-menu nav {
    align-items: center;
}

.public-menu nav a {
    padding: 10px 0;
    transition: color .16s ease;
}

.public-menu nav a:hover,
.public-menu nav a:focus-visible {
    color: var(--ink);
}

.mobile-nav-toggle,
.public-menu-backdrop {
    display: none;
}

.hero {
    min-height: 510px;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    align-items: center;
    gap: clamp(26px, 4.6vw, 64px);
    padding-top: 20px;
    padding-bottom: 28px;
}

.hero-copy {
    min-width: 0;
    align-self: center;
}

.hero-copy h1 {
    max-width: 590px;
    margin: 19px 0 17px;
    font-size: clamp(52px, 5.7vw, 76px);
    line-height: 1.04;
    letter-spacing: -.065em;
}

.hero-copy h1 span {
    white-space: nowrap;
}

.hero-lede {
    max-width: 430px;
    font-size: 16px;
    line-height: 1.7;
}

.hero-actions {
    gap: 20px;
    margin-top: 25px;
}

.hero-proof {
    margin-top: 31px;
}

.hero-visual {
    width: 100%;
    min-width: 0;
    min-height: 410px;
    overflow: hidden;
    border-radius: 28px;
}

.hero-visual:before {
    width: 320px;
    height: 320px;
    background: #e7ece5;
}

.orbit-one {
    width: 420px;
    height: 420px;
}

.orbit-two {
    width: 478px;
    height: 478px;
}

.mini-label {
    top: 12px;
    left: 12px;
}

.balance-card {
    width: min(370px, 84%);
    min-height: 220px;
    padding: 23px 24px 0;
    transform: rotate(-2deg);
}

.balance-amount {
    font-family: Manrope, "Segoe UI", Arial, sans-serif;
}

.float-transfer {
    top: 82px;
    right: 0;
}

.float-growth {
    bottom: 49px;
    left: 0;
}

.visual-caption {
    bottom: 4px;
}

.trust-inner {
    min-height: 60px;
}

.section {
    padding-top: 88px;
    padding-bottom: 94px;
}

.section-heading {
    gap: 34px;
    margin-bottom: 32px;
}

.feature-card {
    min-width: 0;
}

.how-section {
    padding: 76px 0;
}

.how-inner {
    gap: clamp(42px, 7vw, 90px);
}

.public-footer {
    min-height: 78px;
}

.public-nav a:focus-visible,
.hero a:focus-visible,
.public-footer a:focus-visible,
.mobile-nav-toggle:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 4px;
}

@media (max-width: 900px) {
    .hero {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .hero-copy {
        max-width: 690px;
    }

    .hero-copy h1 {
        font-size: clamp(46px, 6vw, 62px);
    }

    .hero-visual {
        width: 100%;
        max-width: 600px;
        min-height: 380px;
        justify-self: center;
    }

    .balance-card {
        width: min(370px, 84%);
        padding-inline: 20px;
    }

    .float-transfer {
        right: -2px;
    }

    .float-growth {
        left: -2px;
    }

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

    .feature-goal {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .public-nav.wrap,
    .hero.wrap,
    .public-footer.wrap {
        width: min(560px, calc(100% - 34px));
    }

    .public-nav {
        min-height: 68px;
        justify-content: space-between;
        gap: 12px;
    }

    .public-nav .brand {
        font-size: 16px;
    }

    .mobile-nav-toggle {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        padding: 0;
        color: var(--ink);
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 13px;
    }

    .hamburger-icon {
        display: grid;
        width: 19px;
        gap: 5px;
    }

    .hamburger-icon i {
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 2px;
        background: currentColor;
        transition: transform .18s ease, opacity .18s ease;
    }

    .public-nav.menu-open .hamburger-icon i:first-child {
        transform: translateY(7px) rotate(45deg);
    }

    .public-nav.menu-open .hamburger-icon i:nth-child(2) {
        opacity: 0;
    }

    .public-nav.menu-open .hamburger-icon i:last-child {
        transform: translateY(-7px) rotate(-45deg);
    }

    .public-menu {
        display: none;
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 15px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 16px;
        box-shadow: 0 20px 55px rgba(24, 35, 31, .16);
    }

    .public-nav.menu-open .public-menu {
        display: flex;
        animation: menu-enter .18s ease-out both;
    }

    .public-nav.menu-closing .public-menu {
        display: flex;
        animation: menu-exit .18s ease-in both;
    }

    .public-menu nav {
        display: grid;
        gap: 2px;
        color: var(--ink);
    }

    .public-menu nav a {
        min-height: 46px;
        display: flex;
        align-items: center;
        padding: 0 10px;
        border-radius: 9px;
    }

    .public-menu nav a:hover {
        background: var(--surface-2);
    }

    .public-menu .nav-actions {
        display: grid;
        grid-template-columns: 1fr 1.35fr;
        gap: 8px;
        padding-top: 12px;
        border-top: 1px solid var(--line);
    }

    .public-menu .nav-actions .btn {
        min-height: 46px;
        padding: 10px 12px;
        font-size: 12px;
    }

    .public-menu .nav-actions .btn-quiet {
        display: inline-flex;
    }

    .public-menu-backdrop {
        position: fixed;
        z-index: 20;
        inset: 68px 0 0;
        width: 100%;
        padding: 0;
        border: 0;
        background: rgba(16, 27, 21, .24);
        animation: backdrop-enter .18s ease-out both;
    }

    .public-nav.menu-open ~ .public-menu-backdrop {
        display: block;
    }

    body.public-menu-open {
        overflow: hidden;
    }

    .hero {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding-top: 29px;
        padding-bottom: 25px;
    }

    .hero-copy h1 {
        max-width: 520px;
        margin: 16px 0 13px;
        font-size: clamp(44px, 12.5vw, 60px);
        line-height: 1.02;
    }

    .hero-copy h1 span {
        white-space: normal;
    }

    .hero-lede {
        max-width: 440px;
        font-size: 15px;
        line-height: 1.65;
        margin-bottom: 0;
    }

    .hero-actions {
        align-items: center;
        gap: 12px 17px;
        margin-top: 20px;
    }

    .hero-actions .btn {
        min-height: 48px;
        max-width: 100%;
        padding: 13px 15px;
        gap: 10px;
    }

    .hero-actions .text-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        font-size: 12px;
    }

    .hero-proof {
        margin-top: 20px;
    }

    .hero-visual {
        min-height: 276px;
        margin-top: 18px;
        overflow: hidden;
        border-radius: 20px;
    }

    .hero-visual:before {
        width: 235px;
        height: 235px;
    }

    .orbit-one {
        width: 310px;
        height: 310px;
    }

    .orbit-two {
        width: 350px;
        height: 350px;
    }

    .mini-label {
        top: 5px;
        left: 2px;
        font-size: 8px;
    }

    .balance-card {
        width: min(345px, 82%);
        min-height: 190px;
        padding: 17px 18px 0;
        transform: none;
    }

    .balance-amount {
        margin-top: 14px;
        font-size: 34px;
    }

    .balance-wave {
        height: 58px;
    }

    .float-card {
        padding: 9px 10px;
    }

    .float-transfer {
        top: 47px;
        right: 0;
    }

    .float-growth {
        left: 0;
        bottom: 24px;
    }

    .visual-caption {
        right: 2px;
        bottom: 2px;
        font-size: 8px;
    }

    .trust-inner {
        min-height: 58px;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 12px;
        padding: 12px 0;
        font-size: 8px;
    }

    .trust-inner span:nth-of-type(n + 3),
    .trust-inner i:nth-of-type(n + 3) {
        display: none;
    }

    .section {
        padding-top: 62px;
        padding-bottom: 66px;
    }

    .section-heading {
        display: block;
        margin-bottom: 24px;
    }

    .section-heading h2,
    .how-inner h2 {
        font-size: clamp(32px, 9vw, 39px);
    }

    .section-heading > p {
        max-width: 420px;
        margin: 13px 0 0;
        font-size: 13px;
        line-height: 1.7;
    }

    .feature-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .feature-card,
    .feature-dark {
        grid-column: auto;
        min-height: 270px;
        padding: 20px;
        border-radius: 16px;
    }

    .feature-dark {
        min-height: 290px;
    }

    .feature-card h3 {
        font-size: 19px;
    }

    .feature-card p {
        max-width: 340px;
        font-size: 12px;
    }

    .feature-goal {
        min-height: 150px;
        gap: 19px;
    }

    .goal-ring {
        width: 78px;
        height: 78px;
    }

    .wallet-stack {
        left: 20px;
        right: 20px;
    }

    .how-section {
        padding: 58px 0;
    }

    .how-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .how-inner .muted {
        margin: 15px 0 20px;
        font-size: 13px;
    }

    .steps article {
        padding: 17px 0;
    }

    .public-footer {
        flex-wrap: wrap;
        gap: 14px;
        padding: 22px 0;
    }

    .public-footer > span {
        order: 3;
        width: 100%;
    }
}

@media (max-width: 380px) {
    .hero {
        padding-top: 23px;
    }

    .hero-copy h1 {
        font-size: clamp(41px, 12vw, 48px);
    }

    .hero-actions {
        gap: 6px 12px;
    }

    .hero-actions .btn {
        padding-inline: 12px;
        font-size: 12px;
    }

    .hero-actions .text-link {
        font-size: 11px;
    }

    .hero-visual {
        min-height: 248px;
    }

    .balance-card {
        width: 84%;
        min-height: 175px;
        padding-inline: 14px;
    }

    .balance-amount {
        font-size: 30px;
    }

    .float-card {
        gap: 6px;
        padding: 8px;
    }

    .float-card b {
        margin-left: 0;
    }
}

@keyframes menu-enter {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes menu-exit {
    from { opacity: 1; transform: translateY(0); }
    to { opacity: 0; transform: translateY(-5px); }
}

@keyframes backdrop-enter {
    from { opacity: 0; }
    to { opacity: 1; }
}

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

    .public-nav *,
    .hero *,
    .public-footer *,
    .public-menu-backdrop {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
