/* =========================================================
   FLASHLAB FINAL LANDING OVERRIDES
   Isolated overrides for the public landing page
========================================================= */

:root {
    --fl-pro-white: #f7fbfc;
    --fl-pro-text: #c3d2d9;
    --fl-pro-muted: #93a8b2;

    --fl-pro-green: #55e4b6;
    --fl-pro-green-2: #7af0ca;

    --fl-pro-green-soft: rgba(85, 228, 182, 0.12);
    --fl-pro-green-border: rgba(85, 228, 182, 0.10);
}


/* =========================================================
   HERO
========================================================= */

.hero-title {
    max-width: 1050px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    color: var(--fl-pro-white) !important;

    font-size: clamp(38px, 4.8vw, 62px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;

    text-wrap: balance;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
}


/* =========================================================
   GREEN HIGHLIGHTED TEXT
========================================================= */

.hero-title span,
.section-heading h2 span,
.final-banner h2 span {
    color: var(--fl-pro-green) !important;

    -webkit-text-fill-color:
        var(--fl-pro-green) !important;

    text-shadow:
        0 0 26px
        rgba(85, 228, 182, 0.12) !important;
}


/* =========================================================
   GENERAL LANDING TYPOGRAPHY
========================================================= */

.hero-description,
.section-heading p,
.fl-section-copy,
.how-intro,
.feature-row p,
.use-case-card p,
.process-step p,
.faq-answer,
.network-card span,
.important-notice p,
.important-notice .cms-formatted-text {
    color: var(--fl-pro-text) !important;

    font-size:
        clamp(14px, 1vw, 16px) !important;

    line-height: 1.75 !important;
}


.section-heading h2,
.how-panel-heading h2 {
    color: var(--fl-pro-white) !important;
}


.use-case-card h3,
.feature-row h3,
.process-step h3,
.faq-item summary,
.network-card strong {
    color: var(--fl-pro-white) !important;

    font-size:
        clamp(15px, 1.15vw, 18px) !important;
}


/* =========================================================
   CMS TEXT PARAGRAPHS
========================================================= */

.cms-text-paragraph {
    display: block;

    margin:
        0 0 18px !important;
}


.cms-text-paragraph:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   CMS INLINE HIGHLIGHT
========================================================= */

.cms-inline-highlight {
    color:
        var(--fl-pro-green-2) !important;

    font-weight: 850 !important;

    padding:
        0 0.1em;

    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgba(85, 228, 182, 0.13) 58%
        );

    border-radius: 3px;

    box-decoration-break: clone;

    -webkit-box-decoration-break:
        clone;
}


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

.faq-answer p {
    margin:
        0 0 12px;
}


.faq-answer p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   CLEAN MINIMAL CMS FOOTER
========================================================= */

.fl-cms-footer {
    width: 100%;

    padding:
        36px 20px 24px;

    border-top:
        1px solid
        rgba(85, 228, 182, 0.12);

    background:
        linear-gradient(
            180deg,
            rgba(7, 17, 20, 0.16),
            rgba(5, 11, 14, 0.98)
        );

    text-align: center !important;
}


/*
|--------------------------------------------------------------------------
| Footer inner container
|--------------------------------------------------------------------------
*/

.fl-cms-footer .section-container {
    width: 100%;

    max-width: 1200px;

    margin:
        0 auto !important;

    padding:
        0 20px;

    display: flex;

    flex-direction: column;

    align-items: center !important;

    justify-content: center !important;

    text-align: center !important;
}


/*
|--------------------------------------------------------------------------
| Minimal footer content wrapper
|--------------------------------------------------------------------------
*/

.fl-footer-minimal {
    width: 100%;

    max-width: 760px;

    margin:
        0 auto !important;

    display: flex;

    flex-direction: column;

    align-items: center !important;

    justify-content: center !important;

    text-align: center !important;
}


/*
|--------------------------------------------------------------------------
| Primary footer line
|--------------------------------------------------------------------------
*/

.fl-footer-primary {
    width: 100%;

    margin:
        0 auto !important;

    color:
        var(--fl-pro-green) !important;

    font-size:
        13px !important;

    font-weight:
        800 !important;

    line-height:
        1.55 !important;

    letter-spacing:
        0.01em;

    text-align:
        center !important;

    text-shadow:
        0 0 18px
        rgba(85, 228, 182, 0.10);
}


/*
|--------------------------------------------------------------------------
| Secondary footer line
|--------------------------------------------------------------------------
*/

.fl-footer-secondary {
    width: 100%;

    margin:
        8px auto 0 !important;

    color:
        var(--fl-pro-green-2) !important;

    font-size:
        13px !important;

    font-weight:
        600 !important;

    line-height:
        1.65 !important;

    text-align:
        center !important;

    opacity:
        0.82;
}


/*
|--------------------------------------------------------------------------
| Copyright
|--------------------------------------------------------------------------
*/

.fl-footer-copyright {
    width: 100%;

    margin:
        9px auto 0 !important;

    color:
        rgba(122, 240, 202, 0.72) !important;

    font-size:
        13px !important;

    font-weight:
        600 !important;

    line-height:
        1.5 !important;

    text-align:
        center !important;
}


/*
|--------------------------------------------------------------------------
| Prevent stray footer children from moving left
|--------------------------------------------------------------------------
*/

.fl-cms-footer *,
.fl-footer-minimal * {
    box-sizing:
        border-box;
}


.fl-cms-footer .fl-footer-primary,
.fl-cms-footer .fl-footer-secondary,
.fl-cms-footer .fl-footer-copyright {
    margin-left:
        auto !important;

    margin-right:
        auto !important;

    text-align:
        center !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .hero-title {
        font-size:
            clamp(
                42px,
                8vw,
                64px
            ) !important;
    }


    .fl-cms-footer {
        padding:
            42px 18px 28px;
    }


    .fl-footer-primary {
        font-size:
            16px !important;
    }


    .fl-footer-secondary {
        font-size:
            13px !important;
    }


    .fl-footer-copyright {
        font-size:
            13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .hero-title {
        font-size:
            clamp(
                36px,
                11vw,
                52px
            ) !important;
    }


    .hero-description,
    .section-heading p,
    .fl-section-copy,
    .how-intro,
    .feature-row p,
    .use-case-card p,
    .process-step p,
    .faq-answer,
    .important-notice p {
        font-size:
            13px !important;
    }


    .fl-cms-footer {
        padding:
            34px 16px 24px;
    }


    .fl-cms-footer .section-container {
        padding:
            0 8px;
    }


    .fl-footer-minimal {
        max-width:
            100%;
    }


    .fl-footer-primary {
        font-size:
            13px !important;

        line-height:
            1.55 !important;
    }


    .fl-footer-secondary {
        margin-top:
            7px !important;

        font-size:
            13px !important;

        line-height:
            1.6 !important;
    }


    .fl-footer-copyright {
        margin-top:
            8px !important;

        font-size:
            12px !important;
    }

}


/* =========================================================
   HIDE OLD LAYOUT FOOTER
   The CMS footer is a <section>, so this only hides the
   previous hard-coded <footer> element if it still exists.
========================================================= */

body:has(.fl-cms-footer) footer {
    display:
        none !important;
}
/* Header Buy Flash CTA */
.buy-flash-button{text-decoration:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important}.buy-flash-button svg{width:17px;height:17px}.buy-flash-button:hover{transform:translateY(-1px)}

/* =========================================================
   FLASH GENERATOR — PREMIUM 2 × 2 PACKAGE CARDS
   Matches the supplied reference layout while preserving
   the existing generator JS/radio input behavior.
========================================================= */

#flash-generator {
    scroll-margin-top: 96px;
}

#flash-generator .fl-generator-wrap {
    width: 100%;
}

#flash-generator .fl-generator-card {
    width: min(100%, 900px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden;
}

#flash-generator .fl-generator-body {
    padding: 26px 26px 30px !important;
}

#flash-generator .fl-generator-label-plans {
    margin-bottom: 20px !important;
}

/* Force the reference-style 2 × 2 package matrix. */
#flash-generator .fl-plan-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 0 26px !important;
}

/* The label itself owns the full clickable card area. */
#flash-generator .fl-plan-choice {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

#flash-generator .fl-plan-choice > input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Premium package tile */
#flash-generator .fl-plan-box {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-height: 154px !important;
    width: 100% !important;
    padding: 22px 22px 20px !important;
    border: 1px solid rgba(85, 228, 182, 0.11) !important;
    border-radius: 15px !important;
    background:
        linear-gradient(145deg, rgba(9, 19, 23, 0.98), rgba(5, 12, 15, 0.98)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.015),
        0 16px 40px rgba(0, 0, 0, 0.12) !important;
    transition:
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease,
        transform .2s ease !important;
    overflow: hidden !important;
}

/* Green selected state exactly where the user expects it. */
#flash-generator .fl-plan-choice > input:checked + .fl-plan-box {
    border: 2px solid #36d8aa !important;
    background:
        linear-gradient(145deg, rgba(16, 39, 37, 0.98), rgba(10, 28, 28, 0.98)) !important;
    box-shadow:
        inset 0 0 0 1px rgba(85, 228, 182, 0.04),
        0 0 0 1px rgba(85, 228, 182, 0.04),
        0 18px 46px rgba(0, 0, 0, 0.18) !important;
}

#flash-generator .fl-plan-choice:hover .fl-plan-box {
    border-color: rgba(85, 228, 182, 0.30) !important;
    transform: translateY(-1px);
}

#flash-generator .fl-plan-choice > input:focus-visible + .fl-plan-box {
    outline: 3px solid rgba(85, 228, 182, 0.22) !important;
    outline-offset: 3px !important;
}

/* Check badge */
#flash-generator .fl-plan-check {
    position: absolute !important;
    top: 13px !important;
    right: 13px !important;
    width: 24px !important;
    height: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #45d9ad !important;
    color: #06231d !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    opacity: 0 !important;
    transform: scale(.75) !important;
    transition: opacity .18s ease, transform .18s ease !important;
}

#flash-generator .fl-plan-choice > input:checked + .fl-plan-box .fl-plan-check {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* 50K / 100K / 500K / 1M + USDT */
#flash-generator .fl-plan-amount-row {
    display: flex !important;
    align-items: baseline !important;
    gap: 13px !important;
    padding-right: 40px !important;
    margin-bottom: 13px !important;
}

#flash-generator .fl-plan-amount {
    display: inline-block !important;
    color: #f8fbfc !important;
    font-size: clamp(30px, 3.4vw, 43px) !important;
    line-height: .94 !important;
    letter-spacing: -0.045em !important;
    font-weight: 950 !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.03) !important;
}

#flash-generator .fl-plan-unit {
    color: #55e4b6 !important;
    font-size: clamp(12px, 1vw, 14px) !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

/* "from $50" */
#flash-generator .fl-plan-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 7px !important;
    margin: 0 0 13px !important;
    color: #71858f !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

#flash-generator .fl-plan-price > span {
    color: #71858f !important;
}

#flash-generator .fl-plan-price strong {
    color: #55e4b6 !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
}

/* Plan title / short descriptor from Admin → Catalog */
#flash-generator .fl-plan-note {
    display: block !important;
    margin-top: auto !important;
    color: #738791 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

/* Keep the rest of the generator visually balanced with larger package cards. */
#flash-generator .fl-generator-section {
    margin-top: 22px !important;
}

#flash-generator .fl-generator-select,
#flash-generator .fl-network-current,
#flash-generator .fl-generator-address {
    min-height: 54px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
}

#flash-generator .fl-generator-summary {
    margin-top: 22px !important;
    border-radius: 16px !important;
}

#flash-generator .fl-generator-submit {
    min-height: 56px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
    font-weight: 850 !important;
}

/* Tablet / smaller desktop: retain the 2 × 2 reference layout. */
@media (max-width: 900px) {
    #flash-generator .fl-generator-card {
        width: 100% !important;
    }

    #flash-generator .fl-generator-body {
        padding: 28px 24px 32px !important;
    }

    #flash-generator .fl-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 13px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 168px !important;
        padding: 24px 20px 21px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: clamp(32px, 6vw, 44px) !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 13px !important;
    }
}

/* Mobile still uses 2 columns like the supplied reference screenshot. */
@media (max-width: 600px) {
    #flash-generator .fl-generator-body {
        padding: 24px 16px 28px !important;
    }

    #flash-generator .fl-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        margin-bottom: 28px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 158px !important;
        padding: 22px 16px 18px !important;
        border-radius: 13px !important;
    }

    #flash-generator .fl-plan-amount-row {
        gap: 9px !important;
        padding-right: 30px !important;
        margin-bottom: 13px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: clamp(29px, 8.3vw, 39px) !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 11px !important;
    }

    #flash-generator .fl-plan-price {
        gap: 5px !important;
        margin-bottom: 11px !important;
        font-size: 12px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 13px !important;
    }

    #flash-generator .fl-plan-note {
        font-size: 12px !important;
    }

    #flash-generator .fl-plan-check {
        top: 13px !important;
        right: 13px !important;
        width: 25px !important;
        height: 25px !important;
        font-size: 13px !important;
    }
}

/* Very narrow screens only: avoid crushed content. */
@media (max-width: 390px) {
    #flash-generator .fl-plan-grid {
        grid-template-columns: 1fr !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 150px !important;
    }
}



/* =========================================================
   PROFESSIONAL COMPACT SCALE — FINAL OVERRIDES
   Keeps the existing layout and functionality but reduces
   oversized typography, spacing and generator dimensions.
========================================================= */

.section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

.section-container {
    max-width: 1120px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.section-heading {
    margin-bottom: 34px !important;
}

.section-heading h2,
.how-panel-heading h2 {
    font-size: clamp(32px, 4.1vw, 50px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
}

.section-kicker,
.protocol-badge {
    font-size: 11px !important;
    letter-spacing: .14em !important;
}

.hero-content {
    max-width: 1120px !important;
}

.hero-description {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.use-case-card,
.feature-row,
.process-step,
.faq-item,
.network-card {
    border-radius: 16px !important;
}

.how-panel {
    padding: 30px !important;
    border-radius: 20px !important;
}

/* Generator overall scale */
.fl-generator-wrap {
    max-width: 940px !important;
    margin-top: 30px !important;
}

.fl-generator-stats {
    gap: 12px !important;
    margin-bottom: 18px !important;
}

.fl-generator-stat {
    min-height: 82px !important;
    border-radius: 14px !important;
}

.fl-generator-stat strong {
    font-size: clamp(22px, 2.3vw, 30px) !important;
}

.fl-generator-stat span {
    margin-top: 5px !important;
    font-size: 9px !important;
}

.fl-generator-card {
    border-radius: 20px !important;
}

.fl-generator-head {
    padding: 18px 22px !important;
}

.fl-generator-head-left {
    gap: 11px !important;
}

.fl-generator-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
}

.fl-generator-title {
    font-size: 19px !important;
}

.fl-generator-ready {
    padding: 7px 10px !important;
    font-size: 10px !important;
}

.fl-generator-label {
    font-size: 12px !important;
}

#flash-generator .fl-generator-card {
    width: min(100%, 900px) !important;
}

#flash-generator .fl-generator-body {
    padding: 24px 26px 28px !important;
}

#flash-generator .fl-plan-grid {
    gap: 14px !important;
    margin-bottom: 24px !important;
}

#flash-generator .fl-plan-box {
    min-height: 148px !important;
    padding: 20px 22px 18px !important;
    border-radius: 15px !important;
}

#flash-generator .fl-plan-amount-row {
    gap: 9px !important;
    padding-right: 32px !important;
    margin-bottom: 12px !important;
}

#flash-generator .fl-plan-amount {
    font-size: clamp(30px, 3.2vw, 42px) !important;
}

#flash-generator .fl-plan-unit {
    font-size: 12px !important;
}

#flash-generator .fl-plan-price {
    margin-bottom: 9px !important;
    font-size: 13px !important;
}

#flash-generator .fl-plan-price strong {
    font-size: 17px !important;
}

#flash-generator .fl-plan-note {
    font-size: 12px !important;
}

#flash-generator .fl-generator-section {
    margin-top: 20px !important;
}

#flash-generator .fl-generator-select,
#flash-generator .fl-network-current,
#flash-generator .fl-generator-address {
    min-height: 52px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
}

#flash-generator .fl-network-option {
    padding: 12px 15px !important;
    font-size: 14px !important;
}

#flash-generator .fl-generator-summary {
    margin-top: 20px !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
}

#flash-generator .fl-generator-summary > div {
    padding: 10px 0 !important;
    font-size: 13px !important;
}

#flash-generator .fl-generator-submit {
    min-height: 54px !important;
    margin-top: 18px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
}

#flash-generator .fl-generator-disclosure,
#flash-generator .fl-address-warning,
#flash-generator .fl-generator-address-head small {
    font-size: 10px !important;
}

@media (max-width: 900px) {
    .section {
        padding-top: 58px !important;
        padding-bottom: 58px !important;
    }

    .hero-title {
        font-size: clamp(36px, 6.5vw, 52px) !important;
    }

    .section-heading h2,
    .how-panel-heading h2 {
        font-size: clamp(28px, 5vw, 42px) !important;
    }

    #flash-generator .fl-generator-body {
        padding: 22px 20px 25px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 140px !important;
        padding: 18px 18px 16px !important;
    }
}

@media (max-width: 600px) {
    .section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .section-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .hero-title {
        font-size: clamp(32px, 9vw, 44px) !important;
    }

    .hero-description,
    .section-heading p,
    .fl-section-copy,
    .how-intro,
    .feature-row p,
    .use-case-card p,
    .process-step p,
    .faq-answer,
    .important-notice p {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .fl-generator-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .fl-generator-stat {
        min-height: 68px !important;
        padding: 8px 5px !important;
    }

    .fl-generator-stat strong {
        font-size: 19px !important;
    }

    .fl-generator-stat span {
        font-size: 7px !important;
        letter-spacing: .08em !important;
    }

    #flash-generator .fl-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 126px !important;
        padding: 16px 13px 14px !important;
        border-radius: 13px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: clamp(24px, 7vw, 34px) !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 9px !important;
    }

    #flash-generator .fl-plan-price {
        font-size: 11px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 14px !important;
    }

    #flash-generator .fl-plan-note {
        font-size: 10px !important;
    }

    #flash-generator .fl-generator-select,
    #flash-generator .fl-network-current,
    #flash-generator .fl-generator-address {
        min-height: 48px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   PROFESSIONAL COMPACT SCALE — FINAL OVERRIDE
   Keeps the current design/theme while reducing the visual
   scale, vertical whitespace and oversized typography.
========================================================= */

/* Overall section rhythm */
.hero-section {
    padding-top: 108px !important;
    padding-bottom: 54px !important;
}

.section,
.section-use-cases,
.networks-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
}

.section-container,
.hero-content {
    max-width: 1080px !important;
}

/* Hero */
.hero-title {
    max-width: 900px !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
}

.hero-description {
    max-width: 760px !important;
    margin: 20px auto 0 !important;
    font-size: clamp(13px, .95vw, 15px) !important;
    line-height: 1.65 !important;
}

.protocol-badge,
.section-kicker {
    font-size: 10px !important;
    letter-spacing: .14em !important;
}

/* Section headings */
.section-heading {
    margin-bottom: 30px !important;
}

.section-heading h2,
.how-panel-heading h2 {
    font-size: clamp(28px, 3.2vw, 42px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em !important;
}

.section-heading p,
.fl-section-copy,
.how-intro,
.important-notice p,
.important-notice .cms-formatted-text {
    max-width: 760px !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.cms-text-paragraph {
    margin-bottom: 12px !important;
}

/* Cards */
.use-case-grid,
.features-grid,
.process-grid,
.network-grid {
    gap: 14px !important;
}

.use-case-card,
.feature-row,
.process-step,
.network-card,
.faq-item,
.how-panel,
.important-notice {
    border-radius: 14px !important;
}

.use-case-card,
.feature-row,
.process-step {
    padding: 18px !important;
}

.use-case-card h3,
.feature-row h3,
.process-step h3,
.faq-item summary,
.network-card strong {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.use-case-card p,
.feature-row p,
.process-step p,
.faq-answer,
.network-card span {
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.feature-icon {
    transform: scale(.88);
    transform-origin: center;
}

/* FAQ */
.faq-list {
    gap: 10px !important;
}

.faq-item summary {
    padding: 16px 18px !important;
}

.faq-answer {
    padding: 0 18px 16px !important;
}

/* Generator wrapper */
#flash-generator {
    margin-top: 30px !important;
}

#flash-generator .fl-generator-wrap {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#flash-generator .fl-generator-stats {
    gap: 10px !important;
    margin-bottom: 16px !important;
}

#flash-generator .fl-generator-stat {
    min-height: 74px !important;
    padding: 14px 12px !important;
    border-radius: 12px !important;
}

#flash-generator .fl-generator-stat strong {
    font-size: 22px !important;
    line-height: 1 !important;
}

#flash-generator .fl-generator-stat span {
    margin-top: 7px !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
}

#flash-generator .fl-generator-card {
    max-width: 860px !important;
    border-radius: 16px !important;
}

#flash-generator .fl-generator-head {
    min-height: 64px !important;
    padding: 15px 20px !important;
}

#flash-generator .fl-generator-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
}

#flash-generator .fl-generator-title {
    font-size: 17px !important;
}

#flash-generator .fl-generator-ready {
    font-size: 10px !important;
    padding: 7px 10px !important;
}

#flash-generator .fl-generator-body {
    padding: 22px 22px 24px !important;
}

#flash-generator .fl-generator-label {
    margin-bottom: 10px !important;
    font-size: 13px !important;
}

/* 2 x 2 plans — compact, readable */
#flash-generator .fl-plan-grid {
    gap: 10px !important;
    margin-bottom: 22px !important;
}

#flash-generator .fl-plan-box {
    min-height: 128px !important;
    padding: 18px 18px 16px !important;
    border-radius: 13px !important;
}

#flash-generator .fl-plan-amount {
    font-size: clamp(27px, 3vw, 36px) !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
}

#flash-generator .fl-plan-unit {
    font-size: 11px !important;
}

#flash-generator .fl-plan-price {
    margin-top: 12px !important;
    font-size: 12px !important;
}

#flash-generator .fl-plan-price strong {
    font-size: 17px !important;
}

#flash-generator .fl-plan-note {
    margin-top: 11px !important;
    font-size: 11px !important;
}

#flash-generator .fl-plan-check {
    top: 11px !important;
    right: 11px !important;
    width: 21px !important;
    height: 21px !important;
    font-size: 11px !important;
}

/* Form controls */
#flash-generator .fl-generator-section {
    margin-top: 20px !important;
}

#flash-generator .fl-generator-select,
#flash-generator .fl-network-current,
#flash-generator .fl-generator-address {
    min-height: 50px !important;
    height: 50px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
}

#flash-generator .fl-network-option {
    min-height: 46px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
}

#flash-generator .fl-generator-address-head small,
#flash-generator .fl-address-warning {
    font-size: 10px !important;
    line-height: 1.45 !important;
}

/* Summary */
#flash-generator .fl-generator-summary {
    margin-top: 20px !important;
    padding: 12px 15px !important;
    border-radius: 12px !important;
}

#flash-generator .fl-generator-summary > div {
    min-height: 42px !important;
    padding: 10px 0 !important;
}

#flash-generator .fl-generator-summary span {
    font-size: 11px !important;
}

#flash-generator .fl-generator-summary strong {
    font-size: 12px !important;
}

#flash-generator .fl-generator-submit {
    min-height: 50px !important;
    height: 50px !important;
    margin-top: 16px !important;
    border-radius: 11px !important;
    font-size: 14px !important;
}

#flash-generator .fl-generator-disclosure {
    margin-top: 10px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

/* Footer */
.fl-cms-footer {
    padding: 28px 16px 22px !important;
}

.fl-footer-primary,
.fl-footer-secondary,
.fl-footer-copyright {
    font-size: 12px !important;
}

/* Tablet: importantly, do NOT enlarge the hero again */
@media (max-width: 900px) {
    .hero-section {
        padding-top: 92px !important;
        padding-bottom: 46px !important;
    }

    .hero-title {
        font-size: clamp(32px, 5.8vw, 46px) !important;
    }

    .section,
    .section-use-cases,
    .networks-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .section-heading h2,
    .how-panel-heading h2 {
        font-size: clamp(27px, 4.5vw, 36px) !important;
    }

    #flash-generator .fl-generator-wrap,
    #flash-generator .fl-generator-card {
        max-width: 760px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .hero-section {
        padding-top: 82px !important;
        padding-bottom: 38px !important;
    }

    .hero-title {
        font-size: clamp(29px, 9vw, 40px) !important;
        line-height: 1.03 !important;
    }

    .hero-description {
        margin-top: 15px !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    .section,
    .section-use-cases,
    .networks-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .section-heading {
        margin-bottom: 24px !important;
    }

    .section-heading h2,
    .how-panel-heading h2 {
        font-size: 27px !important;
    }

    .section-heading p,
    .fl-section-copy,
    .how-intro {
        font-size: 13px !important;
    }

    #flash-generator .fl-generator-body {
        padding: 18px 14px 20px !important;
    }

    #flash-generator .fl-generator-stats {
        gap: 7px !important;
    }

    #flash-generator .fl-generator-stat {
        min-height: 66px !important;
        padding: 11px 7px !important;
    }

    #flash-generator .fl-generator-stat strong {
        font-size: 18px !important;
    }

    #flash-generator .fl-generator-stat span {
        font-size: 8px !important;
    }

    #flash-generator .fl-plan-grid {
        gap: 8px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 112px !important;
        padding: 15px 13px 13px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: clamp(24px, 8vw, 31px) !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 15px !important;
    }

    #flash-generator .fl-plan-note {
        font-size: 10px !important;
    }

    #flash-generator .fl-generator-select,
    #flash-generator .fl-network-current,
    #flash-generator .fl-generator-address,
    #flash-generator .fl-generator-submit {
        min-height: 47px !important;
        height: 47px !important;
    }
}


/* =========================================================
   FINAL GENERATOR PROPORTION REFINEMENT
   Compact plan cards + tight 3-stat row
========================================================= */

/* Keep the generator visually centered and proportionate */
#flash-generator .fl-generator-wrap,
#flash-generator .fl-generator-card {
    max-width: 820px !important;
}

/* Top 3 boxes: remove excess side/gap spacing */
#flash-generator .fl-generator-stats {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

#flash-generator .fl-generator-stat {
    min-width: 0 !important;
    min-height: 62px !important;
    margin: 0 !important;
    padding: 10px 8px !important;
    border-radius: 10px !important;
}

#flash-generator .fl-generator-stat strong {
    font-size: 19px !important;
    line-height: 1 !important;
}

#flash-generator .fl-generator-stat span {
    margin-top: 5px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
    letter-spacing: .10em !important;
}

/* Generator shell */
#flash-generator .fl-generator-head {
    min-height: 58px !important;
    padding: 12px 17px !important;
}

#flash-generator .fl-generator-icon {
    width: 33px !important;
    height: 33px !important;
}

#flash-generator .fl-generator-title {
    font-size: 16px !important;
}

#flash-generator .fl-generator-body {
    padding: 18px 18px 20px !important;
}

/* 2 x 2 plans: more compact and visually balanced */
#flash-generator .fl-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 18px !important;
}

#flash-generator .fl-plan-choice {
    min-width: 0 !important;
}

#flash-generator .fl-plan-box {
    min-height: 102px !important;
    padding: 14px 15px 13px !important;
    border-radius: 11px !important;
}

#flash-generator .fl-plan-amount {
    font-size: clamp(24px, 2.45vw, 31px) !important;
    line-height: 1 !important;
    letter-spacing: -0.035em !important;
}

#flash-generator .fl-plan-unit {
    margin-left: 6px !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

#flash-generator .fl-plan-price {
    margin-top: 9px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
}

#flash-generator .fl-plan-price strong {
    font-size: 15px !important;
}

#flash-generator .fl-plan-note {
    margin-top: 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

#flash-generator .fl-plan-check {
    top: 9px !important;
    right: 9px !important;
    width: 19px !important;
    height: 19px !important;
    font-size: 10px !important;
}

/* Tighten the remaining generator controls slightly */
#flash-generator .fl-generator-section {
    margin-top: 17px !important;
}

#flash-generator .fl-generator-label {
    margin-bottom: 8px !important;
    font-size: 12px !important;
}

#flash-generator .fl-generator-select,
#flash-generator .fl-network-current,
#flash-generator .fl-generator-address {
    min-height: 46px !important;
    height: 46px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
}

#flash-generator .fl-generator-summary {
    margin-top: 17px !important;
    padding: 9px 13px !important;
}

#flash-generator .fl-generator-summary > div {
    min-height: 37px !important;
    padding: 8px 0 !important;
}

#flash-generator .fl-generator-submit {
    min-height: 46px !important;
    height: 46px !important;
    margin-top: 13px !important;
    font-size: 13px !important;
}

/* Tablet */
@media (max-width: 900px) {
    #flash-generator .fl-generator-wrap,
    #flash-generator .fl-generator-card {
        max-width: 720px !important;
    }

    #flash-generator .fl-generator-stats {
        gap: 4px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 98px !important;
    }
}

/* Mobile: retain 2 x 2 layout while keeping cards restrained */
@media (max-width: 600px) {
    #flash-generator .fl-generator-stats {
        gap: 3px !important;
        margin-bottom: 9px !important;
    }

    #flash-generator .fl-generator-stat {
        min-height: 56px !important;
        padding: 8px 5px !important;
        border-radius: 8px !important;
    }

    #flash-generator .fl-generator-stat strong {
        font-size: 16px !important;
    }

    #flash-generator .fl-generator-stat span {
        margin-top: 4px !important;
        font-size: 7px !important;
        letter-spacing: .07em !important;
    }

    #flash-generator .fl-generator-body {
        padding: 15px 11px 17px !important;
    }

    #flash-generator .fl-plan-grid {
        gap: 6px !important;
        margin-bottom: 15px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 92px !important;
        padding: 12px 11px 11px !important;
        border-radius: 10px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: clamp(21px, 7vw, 27px) !important;
    }

    #flash-generator .fl-plan-unit {
        margin-left: 4px !important;
        font-size: 9px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 7px !important;
        font-size: 10px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 13px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 6px !important;
        font-size: 9px !important;
    }

    #flash-generator .fl-plan-check {
        top: 7px !important;
        right: 7px !important;
        width: 17px !important;
        height: 17px !important;
        font-size: 9px !important;
    }
}

/* Very narrow phones only */
@media (max-width: 390px) {
    #flash-generator .fl-plan-grid {
        grid-template-columns: 1fr !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 88px !important;
    }
}


/* =========================================================
   REFERENCE MATCH — GENERATOR + TOP METRICS
   Final proportional lock based on the provided reference.
========================================================= */

/*
|--------------------------------------------------------------------------
| Critical width fix
|--------------------------------------------------------------------------
| #flash-generator IS the .fl-generator-wrap element, therefore it must be
| targeted as the same element rather than as a descendant.
*/
#flash-generator.fl-generator-wrap {
    width: calc(100% - 32px) !important;
    max-width: 760px !important;
    margin: 34px auto 0 !important;
    padding: 0 !important;
}

/*
|--------------------------------------------------------------------------
| Top 3 metric boxes — reference proportions
|--------------------------------------------------------------------------
*/
#flash-generator > .fl-generator-stats {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

#flash-generator > .fl-generator-stats .fl-generator-stat {
    height: 104px !important;
    min-height: 104px !important;

    margin: 0 !important;
    padding: 16px 10px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    border: 1px solid rgba(73, 220, 177, .13) !important;
    border-radius: 16px !important;

    background: rgba(8, 18, 22, .91) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .018),
        0 10px 28px rgba(0, 0, 0, .08) !important;
}

#flash-generator > .fl-generator-stats .fl-generator-stat strong {
    margin: 0 !important;

    color: #55e4b6 !important;
    font-size: 29px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
}

#flash-generator > .fl-generator-stats .fl-generator-stat span {
    margin: 11px 0 0 !important;

    color: #788d99 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

/*
|--------------------------------------------------------------------------
| Main generator shell
|--------------------------------------------------------------------------
*/
#flash-generator > .fl-generator-card {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;

    overflow: hidden !important;

    border: 1px solid rgba(73, 220, 177, .15) !important;
    border-radius: 19px !important;

    background: rgba(9, 19, 23, .965) !important;

    box-shadow:
        0 22px 58px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .012) !important;
}

/*
|--------------------------------------------------------------------------
| Generator header
|--------------------------------------------------------------------------
*/
#flash-generator .fl-generator-head {
    min-height: 82px !important;
    padding: 18px 26px !important;

    border-bottom:
        1px solid rgba(73, 220, 177, .10) !important;
}

#flash-generator .fl-generator-head-left {
    gap: 13px !important;
}

#flash-generator .fl-generator-icon {
    width: 42px !important;
    height: 42px !important;

    font-size: 21px !important;

    border-radius: 50% !important;
}

#flash-generator .fl-generator-title {
    color: #f7fbfc !important;

    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;

    letter-spacing: -.025em !important;
}

#flash-generator .fl-generator-ready {
    padding: 9px 12px !important;

    border-radius: 10px !important;

    font-size: 11px !important;
    font-weight: 850 !important;
}

/*
|--------------------------------------------------------------------------
| Generator content spacing
|--------------------------------------------------------------------------
*/
#flash-generator .fl-generator-body {
    padding: 27px 28px 30px !important;
}

#flash-generator .fl-generator-label {
    gap: 9px !important;

    margin: 0 0 14px !important;

    color: #98aab4 !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

#flash-generator .fl-generator-label i {
    color: #55e4b6 !important;
}

/*
|--------------------------------------------------------------------------
| 2 x 2 package cards — reference proportions
|--------------------------------------------------------------------------
*/
#flash-generator .fl-plan-grid {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 14px !important;

    margin: 0 0 28px !important;
    padding: 0 !important;
}

#flash-generator .fl-plan-choice {
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
}

#flash-generator .fl-plan-box {
    width: 100% !important;
    min-height: 164px !important;

    padding: 24px 24px 22px !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;

    border:
        1px solid rgba(73, 220, 177, .10) !important;

    border-radius: 15px !important;

    background: #071014 !important;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .005) !important;

    transition:
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease,
        transform .18s ease !important;
}

#flash-generator .fl-plan-choice:hover .fl-plan-box {
    border-color:
        rgba(85, 228, 182, .20) !important;
}

#flash-generator .fl-plan-choice input:checked + .fl-plan-box {
    border:
        2px solid #39d7aa !important;

    padding: 23px 23px 21px !important;

    background:
        rgba(15, 45, 41, .68) !important;

    box-shadow:
        inset 0 0 0 1px rgba(85, 228, 182, .04),
        0 8px 24px rgba(0, 0, 0, .10) !important;
}

#flash-generator .fl-plan-amount {
    color: #f8fbfc !important;

    font-size: 38px !important;
    font-weight: 950 !important;
    line-height: 1 !important;

    letter-spacing: -.045em !important;
}

#flash-generator .fl-plan-unit {
    margin-left: 9px !important;

    color: #52dcb3 !important;

    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;

    letter-spacing: .02em !important;
}

#flash-generator .fl-plan-price {
    margin-top: 23px !important;

    color: #7a8f9a !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

#flash-generator .fl-plan-price strong {
    margin-left: 4px !important;

    color: #50dfb4 !important;

    font-size: 20px !important;
    font-weight: 850 !important;
}

#flash-generator .fl-plan-note {
    margin-top: 16px !important;

    color: #70848f !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

#flash-generator .fl-plan-check {
    top: 14px !important;
    right: 14px !important;

    width: 24px !important;
    height: 24px !important;

    border-radius: 50% !important;

    font-size: 12px !important;
}

/*
|--------------------------------------------------------------------------
| Form controls
|--------------------------------------------------------------------------
*/
#flash-generator .fl-generator-section {
    margin-top: 23px !important;
}

#flash-generator .fl-generator-section:first-of-type {
    margin-top: 0 !important;
}

#flash-generator .fl-generator-select,
#flash-generator .fl-network-current,
#flash-generator .fl-generator-address {
    width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;

    margin-top: 10px !important;
    padding: 0 16px !important;

    border:
        1px solid rgba(73, 220, 177, .11) !important;

    border-radius: 12px !important;

    background: #071115 !important;

    color: #edf6f7 !important;

    font-size: 14px !important;
    font-weight: 550 !important;
}

#flash-generator .fl-generator-address-head {
    gap: 16px !important;
}

#flash-generator .fl-generator-address-head small {
    color: #60737d !important;

    font-size: 11px !important;
}

#flash-generator .fl-address-warning {
    margin-top: 8px !important;

    color: #687d87 !important;

    font-size: 11px !important;
    line-height: 1.5 !important;
}

/*
|--------------------------------------------------------------------------
| Order summary
|--------------------------------------------------------------------------
*/
#flash-generator .fl-generator-summary {
    margin-top: 23px !important;
    padding: 10px 16px !important;

    border-radius: 13px !important;
}

#flash-generator .fl-generator-summary > div {
    min-height: 43px !important;

    padding: 10px 0 !important;

    align-items: center !important;
}

#flash-generator .fl-generator-summary span {
    font-size: 12px !important;
}

#flash-generator .fl-generator-summary strong {
    font-size: 12px !important;
    font-weight: 800 !important;
}

/*
|--------------------------------------------------------------------------
| Main action
|--------------------------------------------------------------------------
*/
#flash-generator .fl-generator-submit {
    width: 100% !important;

    min-height: 54px !important;
    height: 54px !important;

    margin-top: 18px !important;

    border-radius: 12px !important;

    font-size: 15px !important;
    font-weight: 900 !important;
}

#flash-generator .fl-generator-disclosure {
    margin-top: 10px !important;

    font-size: 10px !important;
    line-height: 1.45 !important;
}

/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/
@media (max-width: 820px) {

    #flash-generator.fl-generator-wrap {
        width: calc(100% - 28px) !important;
        max-width: 700px !important;
    }

    #flash-generator > .fl-generator-stats {
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    #flash-generator > .fl-generator-stats .fl-generator-stat {
        height: 92px !important;
        min-height: 92px !important;
    }

    #flash-generator > .fl-generator-stats .fl-generator-stat strong {
        font-size: 25px !important;
    }

    #flash-generator .fl-generator-body {
        padding: 23px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 150px !important;
        padding: 21px 20px 19px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 20px 19px 18px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 34px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/
@media (max-width: 600px) {

    #flash-generator.fl-generator-wrap {
        width: calc(100% - 22px) !important;
        margin-top: 26px !important;
    }

    #flash-generator > .fl-generator-stats {
        gap: 7px !important;
        margin-bottom: 14px !important;
    }

    #flash-generator > .fl-generator-stats .fl-generator-stat {
        height: 72px !important;
        min-height: 72px !important;

        padding: 10px 4px !important;

        border-radius: 11px !important;
    }

    #flash-generator > .fl-generator-stats .fl-generator-stat strong {
        font-size: 19px !important;
    }

    #flash-generator > .fl-generator-stats .fl-generator-stat span {
        margin-top: 7px !important;

        font-size: 7px !important;
        letter-spacing: .07em !important;
    }

    #flash-generator .fl-generator-head {
        min-height: 68px !important;
        padding: 14px 16px !important;
    }

    #flash-generator .fl-generator-icon {
        width: 37px !important;
        height: 37px !important;
    }

    #flash-generator .fl-generator-title {
        font-size: 18px !important;
    }

    #flash-generator .fl-generator-body {
        padding: 19px 15px 21px !important;
    }

    #flash-generator .fl-plan-grid {
        gap: 10px !important;
        margin-bottom: 21px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 126px !important;

        padding: 18px 16px 16px !important;

        border-radius: 13px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 17px 15px 15px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 29px !important;
    }

    #flash-generator .fl-plan-unit {
        margin-left: 5px !important;

        font-size: 9px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 15px !important;

        font-size: 11px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 16px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 11px !important;

        font-size: 10px !important;
    }

    #flash-generator .fl-plan-check {
        top: 10px !important;
        right: 10px !important;

        width: 20px !important;
        height: 20px !important;

        font-size: 10px !important;
    }

    #flash-generator .fl-generator-select,
    #flash-generator .fl-network-current,
    #flash-generator .fl-generator-address {
        height: 50px !important;
        min-height: 50px !important;

        font-size: 13px !important;
    }
}

/*
|--------------------------------------------------------------------------
| Narrow phones
|--------------------------------------------------------------------------
*/
@media (max-width: 430px) {

    #flash-generator .fl-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 118px !important;
        padding: 16px 12px 14px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 15px 11px 13px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 25px !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 8px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 13px !important;
        font-size: 10px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 14px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 9px !important;
        font-size: 9px !important;
    }
}


/* =========================================================
   PACKAGE CARD WIDTH + PROPORTION LOCK
   Narrower generator/card geometry while preserving 2x2.
========================================================= */

#flash-generator.fl-generator-wrap {
    max-width: 700px !important;
}

#flash-generator > .fl-generator-stats,
#flash-generator > .fl-generator-card {
    max-width: 700px !important;
}

#flash-generator .fl-plan-grid {
    gap: 12px !important;
}

#flash-generator .fl-plan-box {
    min-height: 142px !important;
    padding: 20px 20px 18px !important;
    border-radius: 14px !important;
}

#flash-generator .fl-plan-choice input:checked + .fl-plan-box {
    padding: 19px 19px 17px !important;
}

#flash-generator .fl-plan-amount {
    font-size: 34px !important;
}

#flash-generator .fl-plan-price {
    margin-top: 18px !important;
    font-size: 13px !important;
}

#flash-generator .fl-plan-price strong {
    font-size: 18px !important;
}

#flash-generator .fl-plan-note {
    margin-top: 13px !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #758995 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
}

@media (max-width: 760px) {
    #flash-generator.fl-generator-wrap {
        max-width: 650px !important;
    }

    #flash-generator > .fl-generator-stats,
    #flash-generator > .fl-generator-card {
        max-width: 650px !important;
    }
}

@media (max-width: 600px) {
    #flash-generator .fl-plan-box {
        min-height: 118px !important;
        padding: 15px 13px 14px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 14px 12px 13px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 27px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 13px !important;
        font-size: 10px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 14px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 9px !important;
        font-size: 9px !important;
    }
}


/* =========================================================
   FINAL PLAN CARD TYPOGRAPHY + ALIGNMENT
   Reference-inspired internal hierarchy
========================================================= */

#flash-generator .fl-plan-grid {
    gap: 12px !important;
}

#flash-generator .fl-plan-box {
    position: relative !important;

    min-height: 148px !important;
    padding: 21px 22px 19px !important;

    display: block !important;

    text-align: left !important;

    border-radius: 14px !important;
}

#flash-generator .fl-plan-choice input:checked + .fl-plan-box {
    padding: 20px 21px 18px !important;
}

#flash-generator .fl-plan-content {
    width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    text-align: left !important;
}

#flash-generator .fl-plan-topline {
    width: 100% !important;

    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;

    gap: 9px !important;

    margin: 0 !important;
    padding: 0 !important;
}

#flash-generator .fl-plan-amount {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #f7fbfc !important;

    font-size: 34px !important;
    font-weight: 950 !important;
    line-height: .98 !important;

    letter-spacing: -.045em !important;

    text-align: left !important;
}

#flash-generator .fl-plan-unit {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #52dcb3 !important;

    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1 !important;

    letter-spacing: .025em !important;
    text-transform: uppercase !important;

    text-align: left !important;
}

#flash-generator .fl-plan-price {
    width: 100% !important;

    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;

    gap: 5px !important;

    margin: 19px 0 0 !important;
    padding: 0 !important;

    color: #738894 !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;

    text-align: left !important;
}

#flash-generator .fl-plan-price > span {
    color: #738894 !important;

    font-size: 13px !important;
    font-weight: 500 !important;
}

#flash-generator .fl-plan-price strong {
    margin: 0 !important;

    color: #50dfb4 !important;

    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1 !important;

    letter-spacing: -.02em !important;
}

#flash-generator .fl-plan-note {
    width: 100% !important;

    display: block !important;

    margin: 16px 0 0 !important;
    padding: 0 !important;

    color: #718590 !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;

    text-align: left !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#flash-generator .fl-plan-check {
    top: 13px !important;
    right: 13px !important;

    width: 23px !important;
    height: 23px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 11px !important;
}

/* Keep selected card content clear of the checkmark */
#flash-generator .fl-plan-choice input:checked + .fl-plan-box .fl-plan-topline {
    padding-right: 28px !important;
}

/* Tablet */
@media (max-width: 820px) {
    #flash-generator .fl-plan-box {
        min-height: 140px !important;
        padding: 19px 19px 17px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 18px 18px 16px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 31px !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 10px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 17px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 14px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #flash-generator .fl-plan-grid {
        gap: 9px !important;
    }

    #flash-generator .fl-plan-box {
        min-height: 124px !important;
        padding: 16px 15px 14px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 15px 14px 13px !important;
    }

    #flash-generator .fl-plan-topline {
        gap: 6px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 27px !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 9px !important;
    }

    #flash-generator .fl-plan-price {
        gap: 4px !important;
        margin-top: 14px !important;

        font-size: 11px !important;
    }

    #flash-generator .fl-plan-price > span {
        font-size: 11px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 15px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 11px !important;

        font-size: 10px !important;
    }

    #flash-generator .fl-plan-check {
        top: 9px !important;
        right: 9px !important;

        width: 20px !important;
        height: 20px !important;

        font-size: 10px !important;
    }
}

/* Narrow phones */
@media (max-width: 430px) {
    #flash-generator .fl-plan-box {
        min-height: 116px !important;
        padding: 14px 12px 12px !important;
    }

    #flash-generator .fl-plan-choice input:checked + .fl-plan-box {
        padding: 13px 11px 11px !important;
    }

    #flash-generator .fl-plan-amount {
        font-size: 24px !important;
    }

    #flash-generator .fl-plan-unit {
        font-size: 8px !important;
    }

    #flash-generator .fl-plan-price {
        margin-top: 12px !important;
    }

    #flash-generator .fl-plan-price strong {
        font-size: 14px !important;
    }

    #flash-generator .fl-plan-note {
        margin-top: 9px !important;
        font-size: 9px !important;
    }
}
