/* ============================================================
   public_mobile.css — mobile overrides for the public pages.
   Load AFTER public.css (already referenced in public_base.html).
   All rules are wrapped in media queries or use the .mobile-open
   state, so desktop layout is untouched.
   ============================================================ */

/* ---------- Mobile dropdown nav (toggled by the ☰ button) ---------- */
@media (max-width: 768px) {
    .pf-header {
        position: relative;
        z-index: 100
    }

    .pf-nav {
        gap: 12px
    }

    .pf-brand {
        font-size: 15px
    }

    .pf-mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        font-size: 18px;
        background: transparent;
        color: inherit;
        border: 1px solid rgba(255, 255, 255, .14);
        border-radius: 10px;
        cursor: pointer
    }

    .pf-links:not(.mobile-open) {
        display: none
    }

    .pf-links.mobile-open {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        position: absolute;
        top: calc(100% + 8px);
        left: 16px;
        right: 16px;
        background: #101314;
        border: 1px solid rgba(255, 255, 255, .1);
        border-radius: 14px;
        padding: 8px;
        box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
        z-index: 200
    }

    .pf-links.mobile-open a {
        display: block;
        padding: 13px 14px;
        font-size: 15px;
        border-radius: 10px
    }

    .pf-links.mobile-open a.active {
        color: #c3e41d
    }
}

/* ---------- Hero ---------- */
@media (max-width: 768px) {
    .pf-hero {
        padding-top: 40px;
        padding-bottom: 30px
    }

    .pf-hero-grid {
        grid-template-columns: 1fr;
        gap: 26px
    }

    .pf-title {
        font-size: clamp(44px, 14vw, 60px);
        line-height: .95
    }

    .pf-sub {
        font-size: 15px;
        line-height: 1.6
    }

    .pf-kicker {
        font-size: 11px
    }

    .pf-hero-card {
        width: 100%;
        max-width: 100%;
        padding: 20px
    }

    .pf-hero-card .big {
        font-size: 40px
    }
}

/* ---------- Section heads ---------- */
@media (max-width: 768px) {
    .pf-section {
        padding-top: 44px;
        padding-bottom: 44px
    }

    .pf-section-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 22px
    }

    .pf-section-head h2 {
        font-size: 26px
    }

    .pf-section-head p {
        font-size: 13px;
        line-height: 1.6
    }

    .pf-eyebrow {
        font-size: 10px
    }
}

/* ---------- Stats grid: 2 columns on phones ---------- */
@media (max-width: 768px) {
    .pf-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px
    }

    .pf-stat {
        padding: 14px
    }

    .pf-stat-label {
        font-size: 10px
    }

    .pf-stat-value {
        font-size: 17px;
        word-break: break-word
    }
}

@media (max-width: 380px) {
    .pf-stats {
        grid-template-columns: 1fr 1fr;
        gap: 8px
    }

    .pf-stat-value {
        font-size: 15px
    }
}

/* ---------- Chart card ---------- */
@media (max-width: 768px) {
    .pf-chart-card {
        padding: 16px 12px;
        margin-top: 18px
    }

    .pf-chart-card h2 {
        font-size: 20px !important
    }

    .pf-chart {
        height: 240px
    }
}

/* ---------- Trade ledger rounds ---------- */
@media (max-width: 768px) {
    .pf-rounds {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .pf-round {
        padding: 16px
    }
}

/* ---------- Investors table: horizontal scroll, never squashed ---------- */
@media (max-width: 768px) {
    main.pf-section {
        padding-top: 96px !important   /* overrides the inline 145px top offset */
    }

    .pf-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px
    }

    .pf-table {
        min-width: 620px;   /* forces scroll instead of crushing columns */
        font-size: 13px
    }

    .pf-table th,
    .pf-table td {
        padding: 10px 12px;
        white-space: nowrap
    }
}

/* ---------- Footer ---------- */
@media (max-width: 768px) {
    .pf-footer {
        padding: 26px 0 34px
    }

    .pf-footer-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        font-size: 13px
    }

    .pf-disclaimer {
        font-size: 11px;
        line-height: 1.6
    }
}