﻿/* Vantum site shared styles, used with Tailwind CDN */
:root {
    --red: #b3261e;
    --red2: #d63b16;
    --gold: #d69b34;
    --ink: #2d1b16;
    --muted: #6f625d;
    --cream: #fff8ef
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    font-family: 'Noto Sans TC', 'Noto Sans SC', 'PingFang TC', 'PingFang SC', 'Heiti TC', 'Microsoft JhengHei', 'Microsoft YaHei', 'Source Han Sans TC', 'Source Han Sans SC', 'Hiragino Sans GB', sans-serif;
    color: var(--ink);
    background: #fffdf9;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%
}

html[lang="zh-Hans"] body {
    font-family: 'Noto Sans SC', 'PingFang SC', 'Heiti SC', 'Microsoft YaHei', 'Source Han Sans SC', 'Hiragino Sans GB', sans-serif
}

html[lang="zh-Hant-TW"] body,
html[lang="zh-Hant"] body {
    font-family: 'Noto Sans TC', 'PingFang TC', 'Heiti TC', 'Microsoft JhengHei', 'Source Han Sans TC', sans-serif
}

.container {
    width: min(1180px, calc(100% - 2rem));
    margin-inline: auto
}

.topbar {
    background: linear-gradient(90deg, #fff2e6, #fffaf5);
    font-size: .9rem;
    color: #4b3831
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: linear-gradient(135deg, #f7c75d, #c22d19);
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 900;
    box-shadow: 0 10px 25px rgba(179, 38, 30, .18)
}

.nav-link {
    font-weight: 700;
    white-space: nowrap
}

.nav-link:hover,
.active {
    color: var(--red)
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .75rem;
    background: linear-gradient(135deg, var(--red2), var(--red));
    color: #fff;
    font-weight: 800;
    padding: .85rem 1.45rem;
    box-shadow: 0 12px 28px rgba(179, 38, 30, .22);
    transition: .25s
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(179, 38, 30, .28)
}

.info-modal-actions {
    display: flex;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(179, 38, 30, .55);
    border-radius: .75rem;
    color: var(--red);
    font-weight: 800;
    padding: .8rem 1.35rem;
    background: #fff8
}

.hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 78% 30%, #ffd79b 0, #fff4e4 24%, transparent 42%), linear-gradient(100deg, #fffaf6 0%, #fff4e8 52%, #fff 100%)
}

.hero:before {
    content: "";
    position: absolute;
    inset: auto -8% -12% 35%;
    height: 42%;
    background: linear-gradient(105deg, transparent, #f6b23d55, #c82017cc);
    border-radius: 999px;
    filter: blur(8px);
    transform: rotate(-5deg)
}

.mascot {
    width: min(360px, 82vw);
    aspect-ratio: 1;
    border-radius: 48% 52% 46% 54%;
    background: radial-gradient(circle at 44% 42%, #fff8e7 0 24%, transparent 25%), linear-gradient(155deg, #ffb136, #f36b19);
    box-shadow: 0 28px 70px rgba(212, 96, 20, .28);
    position: relative
}

.mascot:before,
.mascot:after {
    content: "";
    position: absolute;
    background: #7f1d16;
    border-radius: 999px
}

.mascot:before {
    width: 22%;
    height: 7%;
    left: 34%;
    top: 43%;
    transform: rotate(16deg)
}

.mascot:after {
    width: 10%;
    height: 10%;
    right: 31%;
    top: 38%;
    box-shadow: 0 34px 0 18px #7f1d16
}

.coin {
    position: absolute;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fff0a8, #d99a2d);
    box-shadow: inset 0 0 0 4px #f8d777, 0 10px 22px #d99a2d66;
    animation: float 5s ease-in-out infinite
}

.coin:after {
    content: "1";
    display: grid;
    place-items: center;
    height: 100%;
    font-weight: 900;
    color: #9b5b12
}

.card {
    border: 1px solid #eadfd5;
    background: rgba(255, 255, 255, .86);
    border-radius: 1.2rem;
    box-shadow: 0 15px 38px rgba(77, 36, 18, .07);
    backdrop-filter: blur(8px)
}

.section-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    text-align: center;
    color: #64251c;
    letter-spacing: .08em
}

.kicker {
    color: var(--red);
    font-weight: 900;
    letter-spacing: .14em
}

.icon-badge {
    width: 62px;
    height: 62px;
    border-radius: 18px;
    background: linear-gradient(145deg, #fff3d8, #fff);
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: 2rem;
    border: 1px solid #eddcc6
}

.footer {
    background: linear-gradient(115deg, #b52121, #8f211e);
    color: #fff;
    /* z-index: -1; */
}

.footer a {
    color: #fff;
    opacity: .92
}

.footer a:hover {
    opacity: 1;
    text-decoration: underline
}

.table-wrap {
    overflow-x: auto;
    border-radius: 1rem;
    border: 1px solid #eadfd5
}

.fee-table {
    min-width: 760px;
    width: 100%;
    background: #fff
}

.fee-table th {
    background: linear-gradient(90deg, #8f201c, #b3261e);
    color: #fff;
    text-align: left;
    padding: 1rem
}

.fee-table td {
    padding: 1rem;
    border-bottom: 1px solid #eee4dc
}

.mobile-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease
}

.menu-toggle:checked~.mobile-panel {
    max-height: 620px
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0) rotate(-10deg)
    }

    50% {
        transform: translateY(-18px) rotate(10deg)
    }
}

@media(max-width:768px) {
    .topbar {
        display: none
    }

    .container {
        width: min(100% - 1.25rem, 1180px)
    }

    .hero {
        padding-top: 1rem
    }

    .mascot {
        width: min(260px, 70vw);
        margin: auto
    }

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

    .card {
        border-radius: 1rem
    }

    .section-title {
        letter-spacing: .04em
    }
}

.image-placeholder {
    position: relative;
    overflow: hidden;
    border: 1px solid #ead8c8;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, #fffaf3, #fff1df 55%, #ffe0b8);
    box-shadow: 0 18px 48px rgba(77, 36, 18, .09);
    min-height: 220px;
    display: grid;
    place-items: center;
    text-align: center;
    color: #8b3a26
}

.image-placeholder:before {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px dashed rgba(179, 38, 30, .35);
    border-radius: 1.1rem;
    pointer-events: none
}

.image-placeholder:after {
    content: "鍦栫墖闋愮暀锝滃緦绾屽彲鏇挎彌姝ｅ紡瑕栬";
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    font-size: .9rem;
    font-weight: 800;
    color: #a25a36
}

.placeholder-img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    opacity: .95
}

.hero-visual {
    min-height: 360px
}

.media-card {
    padding: 1rem
}

.media-card .image-placeholder {
    min-height: 180px;
    margin-bottom: 1rem
}

.qr-placeholder {
    width: 8rem;
    height: 8rem;
    margin: 1.5rem auto;
    border-radius: .75rem;
    border: 1px dashed #c69b72;
    background: repeating-linear-gradient(45deg, #fff, #fff 8px, #f3e5d5 8px, #f3e5d5 16px);
    display: grid;
    place-items: center;
    font-weight: 900;
    color: #8b3a26
}

.nav-link.active {
    color: var(--red)
}

@media(max-width:768px) {
    .hero-visual {
        min-height: 260px
    }

    .image-placeholder {
        min-height: 170px
    }

    .placeholder-img {
        min-height: 170px
    }
}

/* UX refinement: readable, tactile, responsive, and accessible */
:root {
    --ease: spring(1 80 10);
    --ring: rgba(214, 59, 22, .28)
}

body {
    line-height: 1.75;
    text-rendering: optimizeLegibility;
    background: radial-gradient(circle at 12% 8%, rgba(255, 232, 202, .55), transparent 24%), #fffdf9
}

main {
    isolation: isolate
}

.container {
    max-width: 1180px
}

.nav-link {
    position: relative;
    padding: .45rem .05rem;
    transition: color .2s ease
}

.nav-link:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: .1rem;
    height: 2px;
    background: linear-gradient(90deg, var(--red), var(--gold));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease
}

.nav-link:hover:after,
.nav-link.active:after {
    transform: scaleX(1)
}

a,
button,
label,
summary {
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease
}

a:focus-visible,
button:focus-visible,
label:focus-visible,
summary:focus-visible,
input:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 4px;
    border-radius: .6rem
}

.btn-primary,
.btn-outline {
    min-height: 44px
}

.btn-outline:hover {
    background: #fff3e9;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(179, 38, 30, .12)
}

.card {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 56px rgba(77, 36, 18, .12);
    border-color: #eac69b
}

.card h2,
.card h3,
.card h4 {
    line-height: 1.35
}

.hero {
    min-height: clamp(520px, 58vw, 760px);
    display: flex;
    align-items: center
}

.hero .container {
    position: relative;
    z-index: 1
}

.hero h1 {
    letter-spacing: .02em;
    text-wrap: balance
}

.hero p {
    text-wrap: pretty
}

.section-title {
    position: relative;
    margin-bottom: .5rem
}

.section-title:before,
.section-title:after {
    content: "";
    display: inline-block;
    width: 76px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold));
    vertical-align: middle;
    margin: 0 1.2rem
}

.section-title:after {
    background: linear-gradient(90deg, var(--gold), transparent)
}

.image-placeholder {
    background: radial-gradient(circle at 75% 25%, rgba(246, 178, 61, .45), transparent 28%), linear-gradient(135deg, #fffaf3, #fff1df 55%, #ffe0b8)
}

.image-placeholder:hover .placeholder-img {
    transform: scale(1.025)
}

.placeholder-img {
    transition: transform .45s ease
}

.qr-placeholder {
    position: relative;
    overflow: hidden
}

.qr-placeholder:after {
    content: "";
    position: absolute;
    inset: -40%;
    background: linear-gradient(110deg, transparent, rgba(255, 255, 255, .72), transparent);
    transform: translateX(-70%);
    animation: qrScan 3.8s ease-in-out infinite
}

.reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .65s ease, transform .65s ease
}

.reveal.is-visible {
    opacity: 1;
    transform: none
}

.skip-link {
    position: fixed;
    left: 1rem;
    top: 1rem;
    z-index: 9999;
    background: #fff;
    color: var(--red);
    border: 2px solid var(--red);
    padding: .65rem 1rem;
    border-radius: .75rem;
    transform: translateY(-140%)
}

.skip-link:focus {
    transform: none
}

.floating-actions {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 60;
    display: grid;
    gap: .75rem
}

.float-btn {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--red2), var(--red));
    color: #fff;
    font-weight: 900;
    box-shadow: 0 14px 36px rgba(179, 38, 30, .25)
}

.float-btn.secondary {
    background: #fff;
    color: var(--red);
    border: 1px solid rgba(179, 38, 30, .35)
}

.float-btn:hover {
    transform: translateY(-3px)
}

.mobile-panel a {
    padding: .75rem 1rem;
    border-radius: .85rem;
    background: #fff7ef
}

.mobile-panel a:hover,
.mobile-panel a.active {
    background: #ffe8d4
}

.fee-table tr:hover td {
    background: #fff8ef
}

details summary {
    list-style: none
}

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

details summary:after {
    content: '+';
    float: right;
    color: var(--red);
    font-weight: 900
}

details[open] summary:after {
    content: '-';
}

.footer {
    position: relative;
    overflow: hidden
}

.footer:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .12), transparent 28%);
    pointer-events: none
}

@keyframes qrScan {

    0%,
    45% {
        transform: translateX(-70%)
    }

    80%,
    100% {
        transform: translateX(70%)
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    *:before,
    *:after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important
    }

    .reveal {
        opacity: 1;
        transform: none
    }
}

@media (max-width:1024px) {
    .hero {
        min-height: auto
    }

    .nav-link:after {
        display: none
    }

    .topbar .container {
        gap: 1rem
    }

    .topbar p:first-child {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }
}

@media (max-width:768px) {
    body {
        font-size: 16px
    }

    .hero h1 {
        font-size: clamp(2.65rem, 13vw, 4.25rem)
    }

    .hero p {
        font-size: 1.08rem
    }

    .hero .container {
        padding-top: 2rem;
        padding-bottom: 2.5rem
    }

    .section-title:before,
    .section-title:after {
        width: 34px;
        margin: 0 .55rem
    }

    .floating-actions {
        right: .75rem;
        bottom: .75rem
    }

    .float-btn {
        width: 3rem;
        height: 3rem
    }

    .footer-grid {
        grid-template-columns: 1fr !important
    }

    .table-wrap {
        margin-inline: -.25rem
    }
}

/* Design restoration: match supplied mockups without touching header */
.mock-page {
    background: #fffdf9;
    color: #2f1b16
}

.mock-hero {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    background: radial-gradient(circle at 70% 18%, rgba(255, 195, 86, .28), transparent 18%), linear-gradient(100deg, #fffaf5 0%, #fff4e8 48%, #fff9f2 100%)
}

.mock-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .25), rgba(255, 255, 255, .66)), url('assets/placeholder.svg') center/cover no-repeat;
    opacity: .22
}

.mock-hero:after {
    content: "";
    position: absolute;
    right: -8%;
    bottom: 0;
    width: 58%;
    height: 36%;
    background: linear-gradient(115deg, transparent 5%, rgba(250, 170, 59, .45), rgba(190, 32, 24, .9));
    border-radius: 100% 0 0 0;
    filter: blur(1px)
}

.mock-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 2rem));
    margin: auto;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 2rem;
    align-items: center;
    padding: 5.2rem 0 4.8rem
}

.mock-title {
    font-size: clamp(3.2rem, 5vw, 5.8rem);
    line-height: 1.18;
    font-weight: 900;
    color: #7a2118;
    letter-spacing: .08em
}

.mock-subtitle {
    font-size: clamp(1.2rem, 2vw, 1.7rem);
    letter-spacing: .12em;
    margin-top: 1.4rem
}

.mock-text {
    font-size: 1.15rem;
    line-height: 2;
    color: #4d3730
}

.mock-visual {
    position: relative;
    min-height: 380px
}

.mock-mascot {
    position: absolute;
    right: 6%;
    bottom: 0;
    width: min(360px, 34vw);
    aspect-ratio: 1;
    border-radius: 52% 48% 50% 50%;
    background: radial-gradient(circle at 46% 43%, #fff7e8 0 25%, transparent 26%), linear-gradient(155deg, #ffb638, #f36b18);
    box-shadow: 0 28px 70px rgba(211, 99, 22, .28)
}

.mock-mascot:before {
    content: "";
    position: absolute;
    width: 22%;
    height: 7%;
    left: 34%;
    top: 43%;
    border-radius: 999px;
    background: #672017;
    transform: rotate(15deg)
}

.mock-mascot:after {
    content: "";
    position: absolute;
    width: 11%;
    height: 11%;
    right: 30%;
    top: 37%;
    border-radius: 999px;
    background: #672017;
    box-shadow: 0 38px 0 18px #672017
}

.mock-coin {
    position: absolute;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fff0a8, #d8982e);
    box-shadow: inset 0 0 0 5px #f7d874, 0 12px 26px rgba(216, 152, 46, .35)
}

.mock-coin:after {
    content: "1";
    height: 100%;
    display: grid;
    place-items: center;
    color: #9a5a14;
    font-weight: 900
}

.mock-product-strip {
    position: relative;
    z-index: 3;
    width: min(1120px, calc(100% - 2rem));
    margin: -3.5rem auto 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: rgba(255, 255, 255, .86);
    border: 1px solid #eadbcd;
    border-radius: 1.25rem;
    box-shadow: 0 16px 42px rgba(80, 38, 15, .1);
    overflow: hidden
}

.mock-product {
    min-height: 110px;
    padding: 1.1rem;
    display: flex;
    align-items: center;
    gap: .85rem;
    border-right: 1px solid #eee2d7
}

.mock-product:last-child {
    border-right: 0
}

.mock-product-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #fff1df, #f3caa0);
    color: #b3261e;
    font-size: 1.9rem
}

.mock-product h2,
.mock-product h3 {
    font-size: 1.45rem;
    font-weight: 900
}

.mock-section {
    width: min(1180px, calc(100% - 2rem));
    margin: auto;
    padding: 4rem 0
}

.mock-heading {
    text-align: center;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 900;
    color: #5b211a;
    letter-spacing: .08em;
    margin-bottom: 2rem
}

.mock-card {
    border: 1px solid #eadfd5;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 14px 38px rgba(77, 36, 18, .07);
    overflow: hidden
}

.promo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem
}

.promo-card {
    min-height: 210px;
    padding: 1.7rem;
    color: #fff;
    background: linear-gradient(135deg, #b91719, #ff7b18);
    position: relative
}

.promo-card:nth-child(1) {
    background: linear-gradient(135deg, #a7191a, #e43a18)
}

.promo-card:nth-child(3) {
    background: linear-gradient(135deg, #bd5a20, #f48a29)
}

.promo-card strong {
    display: block;
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1;
    color: #ffe28e
}

.pill-btn {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    padding: .55rem 1rem;
    background: #d83a18;
    color: #fff;
    font-weight: 800
}

.mock-fund-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem
}

.mock-fund {
    min-height: 170px;
    padding: 2rem;
    background: linear-gradient(100deg, #fffaf4, #fff1de);
    position: relative
}

.mock-adv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem
}

.mock-adv {
    text-align: center;
    padding: 1.8rem
}

.mock-adv .image-placeholder {
    margin-top: 1rem;
    min-height: 180px
}

.mock-banner {
    border-radius: 1.2rem;
    min-height: 230px;
    padding: 3rem;
    background: linear-gradient(100deg, #b51b1d, #ff7a20);
    color: #fff;
    position: relative;
    overflow: hidden
}

.mock-banner h2 {
    font-size: clamp(2rem, 4vw, 3.8rem);
    font-weight: 900
}

.mock-download {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 2rem;
    align-items: center
}

.download-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4rem
}

.mini-card {
    padding: 1.4rem
}

.mock-help {
    display: grid;
    grid-template-columns: 1.2fr .8fr 1.1fr;
    gap: 1.3rem
}

.trade-hero-title {
    font-size: clamp(3rem, 4.8vw, 5.5rem);
    line-height: 1.2
}

.trade-tabs {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 16px 40px rgba(80, 38, 15, .1);
    overflow: hidden
}

.trade-tabs .mock-product {
    border-right: 1px solid #eee
}

.feature-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem
}

.variety-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5rem
}

.platform-block {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 2rem;
    align-items: center
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.4rem
}

.asset-position {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 2rem;
    align-items: center;
    padding: 3rem
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.4rem
}

.flow-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    text-align: center
}

.gold-icon {
    font-size: 3rem;
    color: #c9902d
}

.mock-footer-spacer {
    height: 0
}

@media(max-width:1024px) {
    .mock-hero-inner {
        grid-template-columns: 1fr
    }

    .mock-visual {
        min-height: 300px
    }

    .mock-mascot {
        right: 50%;
        transform: translateX(50%);
        width: min(300px, 70vw)
    }

    .mock-product-strip,
    .trade-tabs {
        grid-template-columns: repeat(2, 1fr)
    }

    .promo-grid,
    .mock-fund-grid,
    .mock-download,
    .platform-block,
    .asset-position {
        grid-template-columns: 1fr
    }

    .mock-adv-grid,
    .feature-grid-4,
    .process-grid,
    .flow-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .variety-grid,
    .service-grid,
    .download-cards,
    .mock-help {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:640px) {
    .mock-hero-inner {
        padding: 3rem 0
    }

    .mock-title,
    .trade-hero-title {
        letter-spacing: .03em
    }

    .mock-product-strip,
    .trade-tabs,
    .promo-grid,
    .mock-adv-grid,
    .feature-grid-4,
    .variety-grid,
    .service-grid,
    .flow-grid,
    .download-cards,
    .mock-help {
        grid-template-columns: 1fr
    }

    .mock-section {
        padding: 2.6rem 0
    }

    .mock-banner {
        padding: 2rem
    }

    .mock-product {
        border-right: 0;
        border-bottom: 1px solid #eee
    }

    .mock-product:last-child {
        border-bottom: 0
    }
}

/* Wide-screen visual tuning: expand content and restore mockup proportions */
:root {
    --mock-wide: min(1680px, calc(100% - 96px));
    --mock-content: min(1500px, calc(100% - 96px))
}

.mock-hero {
    min-height: 690px
}

.mock-hero-inner {
    width: var(--mock-wide);
    grid-template-columns: 1fr 1.02fr;
    padding: 5.7rem 0 5.2rem
}

.mock-title {
    font-size: clamp(4.2rem, 5.7vw, 7.4rem);
    line-height: 1.12;
    letter-spacing: .06em
}

.trade-hero-title {
    font-size: clamp(4rem, 5.4vw, 7rem);
    line-height: 1.14
}

.mock-subtitle {
    font-size: clamp(1.35rem, 1.8vw, 2.1rem)
}

.mock-text {
    font-size: 1.28rem
}

.mock-visual {
    min-height: 470px
}

.mock-mascot {
    width: min(430px, 30vw);
    right: 12%;
    bottom: 1rem
}

.mock-coin {
    width: 54px;
    height: 54px
}

.mock-product-strip {
    width: min(1460px, calc(100% - 96px));
    margin-top: -4.1rem
}

.mock-product {
    min-height: 120px;
    padding: 1.25rem 1.45rem
}

.mock-product h2,
.mock-product h3 {
    font-size: 1.65rem
}

.mock-section {
    width: var(--mock-content);
    padding: 4.8rem 0
}

.mock-heading {
    font-size: clamp(2.35rem, 2.7vw, 3.35rem);
    margin-bottom: 2.5rem
}

.promo-grid {
    gap: 2rem
}

.promo-card {
    min-height: 245px;
    padding: 2.1rem
}

.mock-fund {
    min-height: 205px;
    padding: 2.4rem 2.8rem
}

.mock-adv-grid {
    gap: 2.2rem
}

.mock-adv {
    padding: 2.1rem
}

.mock-adv .image-placeholder {
    min-height: 230px
}

.mock-banner {
    min-height: 270px;
    padding: 3.6rem 4.3rem
}

.mock-download {
    grid-template-columns: .92fr 1.08fr;
    gap: 3rem
}

.download-cards {
    gap: 1.7rem
}

.mock-help {
    gap: 1.8rem
}

.feature-grid-4 {
    gap: 2rem
}

.feature-grid-4 .mock-card {
    min-height: 360px
}

.variety-grid {
    gap: 1.8rem
}

.platform-block {
    gap: 3rem;
    padding: 2.8rem
}

.process-grid {
    gap: 1.8rem
}

.asset-position {
    padding: 3.8rem 4rem
}

.service-grid {
    gap: 1.7rem
}

.flow-grid {
    gap: 2.2rem
}

.image-placeholder.hero-visual {
    min-height: 460px
}

.floating-actions {
    right: 2rem;
    bottom: 2rem
}

@media(min-width:1440px) {
    .container {
        width: min(1540px, calc(100% - 96px))
    }

    .topbar .container,
    header nav.container {
        width: min(1540px, calc(100% - 96px))
    }

    .mock-hero:after {
        width: 54%;
        height: 39%
    }

    .mock-hero:before {
        opacity: .28
    }

    .mock-product-strip {
        grid-template-columns: repeat(6, 1fr)
    }
}

@media(min-width:1800px) {
    :root {
        --mock-wide: min(1740px, calc(100% - 120px));
        --mock-content: min(1560px, calc(100% - 120px))
    }

    .mock-hero {
        min-height: 720px
    }

    .mock-title {
        font-size: 7.2rem
    }

    .trade-hero-title {
        font-size: 6.8rem
    }

    .mock-mascot {
        width: 460px
    }

    .mock-product-strip {
        width: min(1500px, calc(100% - 120px))
    }
}

@media(max-width:1200px) {
    :root {
        --mock-wide: min(1180px, calc(100% - 2rem));
        --mock-content: min(1180px, calc(100% - 2rem))
    }

    .mock-title {
        font-size: clamp(3.2rem, 5vw, 5.8rem)
    }

    .trade-hero-title {
        font-size: clamp(3rem, 4.8vw, 5.5rem)
    }

    .mock-mascot {
        width: min(360px, 34vw)
    }

    .mock-visual {
        min-height: 380px
    }

    .mock-section {
        padding: 4rem 0
    }
}

/* Header visual balance only: no HTML/JS structure changes */
@media(min-width:1280px) {
    header nav .hidden.lg\:flex {
        gap: 1.85rem !important;
        align-items: center
    }

    header .brand-mark {
        flex: 0 0 auto
    }

    header nav strong {
        white-space: nowrap
    }

    header nav small {
        white-space: nowrap
    }

    .nav-link {
        font-size: 1.02rem
    }
}

@media(min-width:1600px) {
    header nav .hidden.lg\:flex {
        gap: 2.15rem !important
    }

    .nav-link {
        font-size: 1.08rem
    }
}

/* Width correction: align page content with header container */
:root {
    --mock-wide: min(1540px, calc(100% - 96px));
    --mock-content: min(1540px, calc(100% - 96px))
}

.mock-hero {
    min-height: 650px
}

.mock-hero-inner {
    width: var(--mock-wide);
    grid-template-columns: 1.02fr .98fr;
    padding: 4.8rem 0 4.6rem
}

.mock-section {
    width: var(--mock-content)
}

.mock-product-strip {
    width: min(1360px, calc(100% - 96px))
}

.mock-title {
    font-size: clamp(3.8rem, 4.7vw, 6.1rem);
    line-height: 1.14;
    letter-spacing: .045em
}

.trade-hero-title {
    font-size: clamp(3.5rem, 4.4vw, 5.8rem)
}

.mock-subtitle,
.mock-text {
    font-size: clamp(1.25rem, 1.45vw, 1.75rem);
    line-height: 1.65;
    font-weight: 700;
}

.mock-text {
    margin-top: .35rem
}

.mock-visual {
    min-height: 410px
}

.mock-mascot {
    width: min(400px, 26vw);
    right: 13%
}

.mock-product {
    padding: 1.1rem 1.25rem
}

.mock-product h2,
.mock-product h3 {
    font-size: 1.48rem
}

.promo-card {
    min-height: 225px
}

.mock-adv .image-placeholder {
    min-height: 205px
}

@media(min-width:1800px) {
    :root {
        --mock-wide: min(1540px, calc(100% - 120px));
        --mock-content: min(1540px, calc(100% - 120px))
    }

    .mock-title {
        font-size: 6.1rem
    }

    .trade-hero-title {
        font-size: 5.8rem
    }

    .mock-mascot {
        width: 410px
    }

    .mock-product-strip {
        width: min(1360px, calc(100% - 120px))
    }
}

@media(max-width:1200px) {
    :root {
        --mock-wide: min(1180px, calc(100% - 2rem));
        --mock-content: min(1180px, calc(100% - 2rem))
    }

    .mock-title {
        font-size: clamp(3.2rem, 5vw, 5.2rem)
    }
}

/* Fees / promotions / help mockup restoration */
.fee-hero-title {
    font-size: clamp(3.5rem, 4.6vw, 6rem);
    line-height: 1.18;
    font-weight: 900;
    color: #7b2419;
    letter-spacing: .06em
}

.fee-tabs {
    width: var(--mock-content);
    margin: -3.8rem auto 0;
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    background: rgba(255, 255, 255, .92);
    border: 1px solid #eadfd5;
    border-radius: 1.2rem;
    box-shadow: 0 18px 42px rgba(77, 36, 18, .1);
    overflow: hidden
}

.fee-tab {
    padding: 1.15rem;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 900;
    border-right: 1px solid #eee4dc
}

.fee-tab:last-child {
    border-right: 0
}

.fee-tab.active {
    background: linear-gradient(135deg, #d83a18, #b3261e);
    color: #fff;
    border-radius: .85rem;
    margin: .55rem
}

.fee-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.8rem
}

.fee-stat {
    padding: 2.1rem;
    min-height: 190px
}

.fee-stat strong {
    display: block;
    font-size: clamp(3rem, 4vw, 4.6rem);
    line-height: 1;
    color: #9a5b16;
    margin: .6rem 0
}

.fee-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 2rem;
    align-items: start
}

.fee-side {
    position: sticky;
    top: 150px
}

.fee-side a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    border-bottom: 1px solid #eee4dc;
    font-size: 1.25rem;
    font-weight: 900
}

.fee-side a.active {
    color: #b3261e;
    background: #fff8ef
}

.fee-table.mock {
    min-width: 860px
}

.notice-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 2rem
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.8rem
}

.benefit-card {
    text-align: center;
    padding: 1.8rem
}

.benefit-card .image-placeholder {
    min-height: 170px;
    margin-top: 1rem
}

.promo-tabs {
    width: min(1280px, calc(100% - 96px));
    margin: -3.8rem auto 0;
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    background: rgba(255, 255, 255, .95);
    border-radius: 999px;
    box-shadow: 0 16px 40px rgba(77, 36, 18, .1);
    padding: .75rem
}

.promo-tab {
    text-align: center;
    padding: .95rem;
    font-size: 1.35rem;
    font-weight: 900;
    border-radius: 999px
}

.promo-tab.active {
    background: linear-gradient(135deg, #d83a18, #b3261e);
    color: #fff
}

.promo-list {
    display: grid;
    gap: 2rem
}

.promo-item {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 2rem;
    padding: 1.5rem
}

.promo-item .image-placeholder {
    min-height: 320px;
    border-radius: 1rem
}

.promo-item h2 {
    font-size: 2.35rem;
    font-weight: 900;
    color: #351812
}

.promo-item p {
    font-size: 1.2rem;
    line-height: 2
}

.pager {
    display: flex;
    justify-content: center;
    gap: 1.6rem;
    align-items: center;
    font-size: 1.35rem
}

.pager a {
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    border-radius: .5rem
}

.pager a.active {
    background: #d83a18;
    color: #fff
}

.help-search {
    display: flex;
    max-width: 820px;
    margin-top: 2rem;
    border: 1px solid #e6cdbb;
    border-radius: .9rem;
    overflow: hidden;
    background: #fff
}

.help-search input {
    flex: 1;
    padding: 1.25rem;
    font-size: 1.15rem
}

.help-search button {
    padding: 0 2rem;
    background: linear-gradient(135deg, #b3261e, #8f201c);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 900
}

.quick-help {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-top: 2rem
}

.quick-help .mock-card {
    padding: 1.25rem
}

.help-cat-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.4rem
}

.help-cat {
    text-align: center;
    padding: 1.5rem
}

.help-cat .image-placeholder {
    min-height: 170px;
    margin-bottom: 1rem
}

.faq-panel {
    padding: 2.5rem
}

.faq-panel details {
    border: 1px solid #eadfd5;
    border-radius: .85rem;
    padding: 1.2rem 1.4rem;
    margin-bottom: 1rem;
    background: #fff
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.4rem
}

.service-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    background: #fff6ec;
    border-radius: 1rem;
    padding: 1.2rem;
    margin-top: 1.5rem
}

@media(max-width:1024px) {
    .fee-tabs {
        grid-template-columns: repeat(2, 1fr)
    }

    .fee-stat-grid,
    .benefit-grid,
    .quick-help,
    .contact-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .fee-layout,
    .notice-grid,
    .promo-item {
        grid-template-columns: 1fr
    }

    .fee-side {
        position: static
    }

    .promo-tabs {
        grid-template-columns: repeat(2, 1fr);
        border-radius: 1.2rem
    }

    .help-cat-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .service-bar {
        grid-template-columns: 1fr
    }
}

@media(max-width:640px) {

    .fee-tabs,
    .fee-stat-grid,
    .benefit-grid,
    .quick-help,
    .help-cat-grid,
    .contact-grid,
    .promo-tabs {
        grid-template-columns: 1fr
    }

    .fee-hero-title {
        font-size: clamp(3rem, 12vw, 4.2rem)
    }

    .help-search {
        display: grid
    }

    .help-search button {
        padding: 1rem
    }

    .promo-item h2 {
        font-size: 1.8rem
    }
}

/* Guoxin No.1 fund page */
.gx-hero .mock-hero-inner {
    padding-top: 5.4rem;
    padding-bottom: 5.4rem
}

.guoxin-page .fee-hero-title {
    font-size: clamp(4.2rem, 5.2vw, 6.8rem)
}

.gx-summary {
    padding-top: 1.6rem
}

.gx-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5rem
}

.gx-summary-card {
    min-height: 260px;
    padding: 1.7rem;
    display: flex;
    flex-direction: column
}

.gx-summary-card h2 {
    font-size: 1.7rem;
    font-weight: 900
}

.gx-summary-card p {
    margin-top: .9rem;
    font-size: 1.08rem;
    line-height: 1.75
}

.gx-line-icon {
    margin-top: auto;
    color: #c9902d;
    font-size: 4.2rem;
    line-height: 1;
    text-align: center
}

.gx-performance {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 2rem;
    padding: 3rem;
    background: linear-gradient(100deg, #fffaf4, #fff4e8)
}

.gx-chart svg {
    width: 100%;
    height: auto;
    border: 1px solid #eadfd5;
    border-radius: 1rem;
    box-shadow: 0 12px 32px rgba(77, 36, 18, .06)
}

.gx-performance-side {
    position: relative;
    min-height: 420px;
    padding-top: 3rem
}

.gx-metric {
    width: 220px;
    background: #fff;
    border-radius: 1rem;
    padding: 1.2rem 1.5rem;
    margin: 0 0 1.2rem;
    box-shadow: 0 12px 30px rgba(77, 36, 18, .08);
    color: #d83218
}

.gx-metric strong {
    font-size: 1.5rem
}

.gx-metric span {
    font-size: 2.05rem
}

.gx-metric.gold {
    color: #d79a2b;
    margin-left: 2.4rem
}

.gx-metric.gray {
    color: #7b716d;
    margin-left: 1rem
}

.gx-small-mascot {
    position: absolute !important;
    right: 4%;
    bottom: 0;
    width: 250px !important
}

.gx-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.8rem
}

.gx-info-card {
    padding: 1.8rem
}

.gx-info-card h3 {
    font-size: 1.7rem;
    font-weight: 900;
    color: #5b211a
}

.gx-info-card p {
    font-size: 1.12rem;
    line-height: 1.85;
    margin-top: 1rem
}

.gx-info-card .image-placeholder {
    min-height: 190px;
    margin-top: 1.5rem
}

@media(max-width:1024px) {
    .gx-summary-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .gx-performance {
        grid-template-columns: 1fr
    }

    .gx-card-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .gx-performance-side {
        min-height: 340px
    }

    .gx-small-mascot {
        width: 210px !important
    }
}

@media(max-width:640px) {

    .gx-summary-grid,
    .gx-card-grid {
        grid-template-columns: 1fr
    }

    .guoxin-page .fee-hero-title {
        font-size: clamp(3.4rem, 14vw, 4.4rem)
    }

    .gx-performance {
        padding: 1.5rem
    }

    .gx-metric,
    .gx-metric.gold,
    .gx-metric.gray {
        margin-left: 0;
        width: 100%
    }

    .gx-small-mascot {
        position: relative !important;
        right: auto;
        width: 180px !important;
        margin: 1rem auto 0
    }
}

/* Design v2 pages: visual reconstruction below existing header styles */
.design-v2 {
    --dv-red: #b5291f;
    --dv-red2: #df4318;
    --dv-brown: #5b2118;
    --dv-gold: #d79b32;
    --dv-soft: #fff8ef;
    --dv-line: #eadccf;
    background: linear-gradient(180deg, #fffdf9 0, #fffaf4 50%, #fff 100%);
    font-family: inherit;
    color: #2e1d18
}

.dv-hero {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    background: radial-gradient(circle at 75% 18%, #ffe4b9 0 13%, transparent 34%), linear-gradient(95deg, #fff9f3 0, #fff1e5 48%, #fff9f3 100%)
}

.dv-hero:before {
    /* content: ""; */
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .38)), repeating-linear-gradient(92deg, transparent 0 44px, rgba(214, 155, 52, .035) 45px 46px)
}

.dv-hero:after {
    content: "";
    position: absolute;
    right: -8%;
    bottom: -8%;
    width: 72%;
    height: 35%;
    border-radius: 999px;
    background: linear-gradient(105deg, transparent 0, #ffe09a 25%, #e75b19 58%, #9e201b 100%);
    filter: blur(2px);
    transform: rotate(-8deg);
    box-shadow: 0 -18px 40px rgba(214, 86, 21, .2)
}

.dv-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 2rem;
    align-items: center;
    min-height: 520px
}

.dv-hero-copy h1 {
    font-size: clamp(3.6rem, 6.2vw, 6.2rem);
    line-height: 1.1;
    letter-spacing: .1em;
    font-weight: 900;
    color: #84231d;
    text-shadow: 0 2px 0 #fff
}

.dv-lead {
    margin-top: 1.5rem;
    font-size: clamp(1.45rem, 2.2vw, 2.2rem);
    line-height: 1.65;
    font-weight: 800;
    color: #3b2b25
}

.dv-desc {
    margin-top: 1.2rem;
    max-width: 620px;
    font-size: 1.18rem;
    line-height: 2;
    color: #4d403b
}

.dv-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 2.2rem
}

.dv-actions .btn-primary,
.dv-actions .btn-outline {
    min-width: 180px;
    font-size: 1.25rem;
    border-radius: .55rem
}

.dv-hero-art {
    position: relative;
    height: 480px
}

.dv-mascot {
    position: absolute;
    width: 280px;
    height: 300px;
    border-radius: 48% 52% 45% 45%;
    background: radial-gradient(circle at 50% 45%, #fff6e9 0 28%, transparent 29%), linear-gradient(145deg, #ffb13c, #f26a18 72%);
    box-shadow: inset -18px -24px 38px rgba(149, 47, 12, .16), 0 28px 60px rgba(204, 91, 22, .28)
}

.dv-mascot:before {
    content: "";
    position: absolute;
    left: 33%;
    top: 43%;
    width: 28%;
    height: 8%;
    border-radius: 999px;
    background: #5b1d17;
    transform: rotate(18deg);
    box-shadow: 78px -12px 0 -8px #7b221b, 44px 45px 0 6px #6f1f18
}

.dv-mascot:after {
    content: "";
    position: absolute;
    left: 28%;
    top: 52%;
    width: 22%;
    height: 16%;
    border-radius: 50%;
    background: #ff9fb0;
    box-shadow: 124px 0 0 #ff9fb0
}

.dv-mascot.wink {
    right: 13%;
    bottom: 26px
}

.dv-mascot.thumbs {
    right: 4%;
    bottom: 4px;
    width: 230px;
    height: 248px
}

.dv-mascot.wide {
    right: 10%;
    bottom: 10px;
    width: 360px;
    height: 340px
}

.dv-mascot.small {
    width: 160px;
    height: 170px;
    right: 30px;
    bottom: 0
}

.dv-mascot.tiny {
    position: absolute;
    width: 104px;
    height: 112px;
    right: 18px;
    bottom: 10px
}

.coin {
    z-index: 3
}

.c1 {
    left: 4%;
    top: 12%
}

.c2 {
    right: 15%;
    top: 10%;
    animation-delay: .7s
}

.c3 {
    left: 24%;
    bottom: 14%;
    animation-delay: 1.2s
}

.c4 {
    right: 4%;
    top: 38%;
    animation-delay: 1.8s
}

.dv-phone.ghost:before,
.dv-hero:before {
    pointer-events: none
}

.dv-phone.ghost {
    position: absolute;
    right: 44%;
    top: 82px;
    width: 170px;
    height: 255px;
    border: 2px solid rgba(194, 126, 55, .22);
    border-radius: 30px;
    transform: rotate(-9deg);
    opacity: .36
}

.dv-section {
    padding-top: 3.8rem;
    padding-bottom: 3.8rem
}

.dv-title {
    position: relative;
    text-align: center;
    font-size: clamp(2.3rem, 3.4vw, 3.6rem);
    letter-spacing: .12em;
    font-weight: 900;
    color: #5b2118;
    margin-bottom: 2.5rem
}

.dv-title:before,
.dv-title:after {
    content: "";
    display: inline-block;
    width: 90px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c99246);
    vertical-align: middle;
    margin: 0 1.4rem
}

.dv-title:after {
    background: linear-gradient(90deg, #c99246, transparent)
}

.dv-card,
.license-card,
.scale-grid article,
.download-cards article,
.why-grid article,
.fund-overview-grid article,
.risk-grid article,
.chart-card,
.large-chart {
    border: 1px solid var(--dv-line);
    background: rgba(255, 255, 255, .9);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(80, 44, 20, .08)
}

.about-overview-grid {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 2rem
}

.about-intro {
    position: relative;
    min-height: 390px;
    padding: 2.5rem;
    overflow: hidden
}

.about-intro p {
    font-size: 1.16rem;
    line-height: 2
}

.mini-skyline {
    position: absolute;
    left: 37%;
    bottom: 24px;
    width: 210px;
    height: 80px;
    background: linear-gradient(to top, #efbd76, #fff4df);
    clip-path: polygon(0 100%, 0 82%, 8% 82%, 8% 55%, 16% 55%, 16% 100%, 24% 100%, 24% 72%, 32% 72%, 32% 35%, 41% 35%, 41% 100%, 50% 100%, 50% 48%, 58% 48%, 58% 100%, 67% 100%, 67% 68%, 76% 68%, 76% 20%, 86% 20%, 86% 100%, 100% 100%)
}

.timeline-card {
    padding: 1.4rem 2rem
}

.timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 130px 1fr 120px;
    align-items: center;
    gap: 1.4rem;
    min-height: 110px;
    border-bottom: 1px solid #eee2d6
}

.timeline-item:last-child {
    border-bottom: 0
}

.timeline-item:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 44%;
    width: 18px;
    height: 18px;
    border: 4px solid #e6ad45;
    border-radius: 50%;
    background: #fff
}

.timeline-item b {
    padding-left: 44px;
    font-size: 2.2rem;
    color: #c55320
}

.timeline-item strong {
    display: block;
    color: #bd5830;
    font-size: 1.16rem
}

.illus {
    height: 72px;
    opacity: .75
}

.building {
    background: linear-gradient(to top, #dba35a, #fff0d5);
    clip-path: polygon(5% 100%, 5% 48%, 28% 48%, 28% 18%, 55% 18%, 55% 100%, 64% 100%, 64% 0, 90% 0, 90% 100%)
}

.globe {
    border-radius: 50%;
    background: radial-gradient(circle, #fff1cf 0 40%, #d69735 42% 64%, transparent 65%), linear-gradient(#d69735, #f6d28e)
}

.mascot-mini {
    background: linear-gradient(145deg, #ffa63b, #e66619);
    border-radius: 48%
}

.growth {
    background: linear-gradient(35deg, transparent 34%, #d69735 35% 45%, transparent 46%), linear-gradient(to top, transparent 0 20%, #e4a145 21% 100%);
    clip-path: polygon(0 100%, 18% 80%, 18% 100%, 38% 100%, 38% 60%, 58% 60%, 58% 35%, 76% 35%, 76% 15%, 100% 15%, 100% 100%)
}

.license-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem
}

.license-card {
    overflow: hidden;
    text-align: center
}

.cert {
    height: 310px;
    margin: 1rem 1rem 0;
    background: #fff;
    border: 12px solid #f6f6f3;
    box-shadow: inset 0 0 0 3px #13856e
}

.cert:before {
    content: "";
    display: block;
    margin: 36px auto 0;
    width: 72%;
    height: 8px;
    background: #188870;
    box-shadow: 0 35px 0 #ddd, 0 70px 0 #ddd, 0 105px 0 #ddd, 0 140px 0 #ddd
}

.cert-red {
    box-shadow: inset 0 0 0 0 transparent
}

.cert-red:before {
    background: #d33626;
    box-shadow: 0 38px 0 #ddd, 0 76px 0 #ddd, 0 114px 0 #ddd
}

.license-card h3 {
    font-size: 1.25rem;
    font-weight: 900;
    margin-top: 1.3rem
}

.license-card p {
    padding: 1rem 1.3rem 1.6rem;
    font-size: 1.05rem;
    line-height: 1.65
}

.scale-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.4rem
}

.scale-grid article {
    position: relative;
    min-height: 240px;
    padding: 1.7rem;
    overflow: hidden
}

.scale-grid strong {
    display: block;
    margin-top: .4rem;
    font-size: 2.8rem;
    color: #d35b20
}

.scale-grid span {
    font-weight: 900
}

.bar-illus,
.tower-illus,
.bank-illus,
.phone-illus,
.pie-illus,
.shield-illus {
    position: absolute;
    right: 22px;
    bottom: 18px;
    width: 120px;
    height: 100px
}

.bar-illus {
    background: linear-gradient(to top, #efad4c 12%, transparent 13%), linear-gradient(45deg, transparent 45%, #e6a347 46% 54%, transparent 55%);
    clip-path: polygon(0 100%, 0 85%, 15% 85%, 15% 100%, 25% 100%, 25% 72%, 40% 72%, 40% 100%, 50% 100%, 50% 55%, 65% 55%, 65% 100%, 75% 100%, 75% 30%, 90% 30%, 90% 100%)
}

.tower-illus {
    background: linear-gradient(to top, #f0c17e, #fff0d7);
    clip-path: polygon(0 100%, 0 35%, 30% 35%, 30% 0, 56% 0, 56% 100%, 66% 100%, 66% 20%, 100% 20%, 100% 100%)
}

.bank-illus {
    background: linear-gradient(to top, #f3c078, #fff4df);
    clip-path: polygon(0 100%, 0 45%, 100% 45%, 100% 100%, 82% 100%, 82% 55%, 70% 55%, 70% 100%, 55% 100%, 55% 55%, 43% 55%, 43% 100%, 28% 100%, 28% 55%, 16% 55%, 16% 100%, 0 100%, 50% 0, 100% 45%)
}

.donut {
    width: 122px;
    height: 122px;
    border-radius: 50%;
    background: conic-gradient(#fa8c35 0 56%, #f2d998 56% 100%);
    position: relative
}

.donut:after {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: 50%;
    background: #fff
}

.scale-grid .donut {
    margin: 18px 0
}

.scale-grid b,
.scale-grid em {
    position: absolute;
    right: 22px;
    font-size: 1.2rem;
    color: #c75b24;
    font-style: normal
}

.scale-grid b {
    top: 72px
}

.scale-grid em {
    top: 142px
}

.partners-section {
    text-align: center
}

.partners-section>p {
    margin-top: -1.2rem;
    color: #7b6860;
    font-size: 1.1rem
}

.partner-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem 1.4rem;
    margin-top: 2rem
}

.partner-grid img {
    width: 100%;
    height: 70px;
    object-fit: contain;
    border: 1px solid #eadfd5;
    border-radius: 10px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 20px rgba(80, 44, 20, .05);
    padding: 8px
}

.download-art .app-phone {
    position: absolute;
    right: 36%;
    top: -20px;
    width: 230px;
    height: 460px;
    border: 12px solid #2c2927;
    border-radius: 36px;
    background: #fff;
    transform: rotate(10deg);
    box-shadow: 0 30px 50px rgba(0, 0, 0, .18);
    padding: 32px 18px
}

.app-chart {
    height: 120px;
    border-radius: 14px;
    background: linear-gradient(#fff, #fff6ee), linear-gradient(25deg, transparent 40%, #d94824 41% 44%, transparent 45%)
}

.app-chart:after {
    content: "18,247.61";
    display: block;
    color: #d3411e;
    font-size: 1.8rem;
    padding: 18px
}

.app-icons {
    height: 170px;
    margin-top: 16px;
    background: repeating-linear-gradient(#fff 0 38px, #f6eee8 39px 40px)
}

.download-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.2rem
}

.download-cards article {
    padding: 2.4rem;
    text-align: left
}

.platform-icon {
    display: inline-grid;
    place-items: center;
    width: 70px;
    height: 70px;
    font-size: 3.2rem;
    font-weight: 900
}

.platform-icon.android {
    color: #91bd38
}

.platform-icon.terminal {
    border-radius: 14px;
    background: linear-gradient(135deg, #efbf3f, #d43319);
    color: #fff
}

.download-cards h3 {
    display: flex;
    margin-left: 1rem;
    font-size: 2.5rem;
    font-weight: 900
}

.download-cards p {
    font-size: 1.15rem;
    line-height: 1.8;
    min-height: 92px
}

.qr-art {
    width: 180px;
    height: 180px;
    margin: 1.5rem auto;
    background: repeating-linear-gradient(90deg, #111 0 8px, #fff 8px 15px), repeating-linear-gradient(#111 0 7px, #fff 7px 16px);
    background-blend-mode: multiply;
    border: 12px solid #fff;
    box-shadow: 0 0 0 1px #eee
}

.download-cards .btn-outline {
    width: 100%;
    font-size: 1.2rem
}

.why-grid,
.risk-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem
}

.why-grid article,
.risk-grid article {
    position: relative;
    min-height: 330px;
    padding: 2rem;
    overflow: hidden
}

.why-grid h3,
.risk-grid h3 {
    font-size: 1.8rem;
    font-weight: 900
}

.why-grid p,
.risk-grid p {
    margin-top: 1rem;
    font-size: 1.08rem;
    line-height: 1.8
}

.phone-illus {
    border: 8px solid #d7d7d7;
    border-radius: 20px;
    transform: rotate(-12deg);
    background: linear-gradient(20deg, transparent 45%, #dc6b20 46% 50%, transparent 51%)
}

.pie-illus {
    border-radius: 50%;
    background: conic-gradient(#f29a2e 0 24%, #cbd9ed 24% 64%, #f2f2f2 64% 100%)
}

.shield-illus {
    clip-path: polygon(50% 0, 94% 18%, 84% 78%, 50% 100%, 16% 78%, 6% 18%);
    background: linear-gradient(145deg, #fff, #d8d8d8)
}

.app-promo {
    position: relative;
    margin-bottom: 4rem;
    border-radius: 24px;
    min-height: 250px;
    padding: 2.6rem 3rem;
    display: grid;
    grid-template-columns: 1.4fr .7fr 180px;
    align-items: center;
    overflow: hidden;
    background: radial-gradient(circle at 70% 10%, #ffcf70, transparent 30%), linear-gradient(110deg, #ba241d, #f05a1d 70%, #fa9232);
    color: #fff;
    box-shadow: 0 24px 48px rgba(172, 57, 20, .25)
}

.app-promo h2 {
    font-size: 3rem;
    font-weight: 900;
    color: #fff5c8
}

.promo-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.6rem
}

.promo-metrics span {
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 12px;
    padding: 1rem;
    font-size: 1.4rem;
    font-weight: 900
}

.promo-metrics b {
    font-size: 2.8rem;
    margin-right: .4rem
}

.promo-metrics small {
    display: block;
    font-size: .95rem
}

.gift-art {
    height: 190px;
    background: linear-gradient(45deg, #b91516 0 45%, #f6c46a 45% 55%, #c51616 56%);
    border-radius: 22px
}

.app-promo a {
    background: #fff;
    color: #bb2b20;
    border-radius: 12px;
    padding: 1rem 1.3rem;
    font-size: 1.35rem;
    font-weight: 900;
    text-align: center
}

.fund-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4rem
}

.fund-overview-grid article {
    min-height: 160px;
    padding: 1.8rem 2rem;
    display: grid;
    grid-template-columns: 96px 1fr;
    align-items: center
}

.fund-overview-grid i {
    grid-row: 1/3;
    width: 72px;
    height: 72px;
    border: 4px solid #daa24c;
    border-radius: 14px
}

.fund-overview-grid h3 {
    font-size: 1.7rem;
    font-weight: 900
}

.fund-overview-grid strong {
    font-size: 1.7rem
}

/* ── 策略投研流程卡片 ── */
.strategy-process {
    text-align: center
}

.process-flow {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.2rem;
    margin-top: 2.5rem
}

.process-card {
    border: 1px solid #eadfd5;
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    padding: 1.8rem 1.2rem 1.5rem;
    text-align: center;
    box-shadow: 0 8px 24px rgba(80, 44, 20, .06);
    transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease, border-color .3s ease
}

.process-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 48px rgba(112, 48, 19, .14);
    border-color: #e7bf83
}

.process-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e47c20, #daa24c);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
    margin-bottom: 1rem
}

.process-card h3 {
    font-size: 1.35rem;
    font-weight: 900;
    color: #5b2118;
    margin-bottom: .7rem
}

.process-card p {
    font-size: .95rem;
    color: #6b5b4f;
    line-height: 1.6
}

.fund-strategy {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 2rem;
    align-items: center
}

.strategy-copy {
    padding-left: 2rem;
    border-left: 5px solid #daa24c
}

.strategy-copy h2 {
    font-size: 2.6rem;
    font-weight: 900;
    color: #5b2118
}

.strategy-copy li {
    margin-top: 1.7rem;
    font-size: 1.35rem
}

.strategy-copy li:before {
    content: "鉁?;
 color: #c58c31;
    margin-right: 1rem
}

.dashboard-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #eadfd5;
    border-radius: 20px;
    background: rgba(255, 248, 239, .78)
}

.chart-card {
    position: relative;
    min-height: 190px;
    padding: 1.2rem
}

.chart-card svg {
    width: 100%;
    height: 130px
}

.chart-card b,
.large-chart b {
    position: absolute;
    right: 20px;
    top: 48px;
    padding: .8rem 1rem;
    border-radius: 12px;
    background: #fff5e7;
    color: #7f4d23
}

.chart-card b span,
.large-chart b span {
    font-size: 2rem
}

.bars i {
    display: block;
    height: 120px;
    background: linear-gradient(to top, #d89b35 30%, transparent 31%), linear-gradient(to top, #d89b35 58%, transparent 59%), linear-gradient(to top, #d89b35 24%, transparent 25%), linear-gradient(to top, #d89b35 72%, transparent 73%), linear-gradient(to top, #d89b35 66%, transparent 67%);
    background-size: 18% 100%;
    background-position: 5% 0, 28% 0, 51% 0, 74% 0, 96% 0;
    background-repeat: no-repeat
}

.donut-mini .donut {
    margin: 20px auto
}

.brain {
    background: radial-gradient(circle at 50% 55%, rgba(125, 178, 206, .9), transparent 32%), linear-gradient(135deg, #fff, #fbefe2)
}

.risk-grid article {
    min-height: 300px
}

.risk-grid i {
    position: absolute;
    left: 28px;
    bottom: 38px;
    width: 92px;
    height: 92px;
    border: 5px solid #d8a04c;
    border-radius: 18px
}

.fund-performance {
    background: #fff6ee;
    padding: 4rem 0
}

.performance-grid {
    display: grid;
    grid-template-columns: 1.05fr 1.25fr;
    gap: 2rem;
    align-items: center
}

.performance-grid h2 {
    font-size: 2.6rem;
    font-weight: 900;
    color: #5b2118
}

.performance-grid h3 {
    margin-top: 1rem;
    font-size: 2rem;
    font-weight: 900;
    color: #8f4a27
}

.perf-tags {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 2rem 0
}

.perf-tags span {
    background: #fff;
    border-radius: 14px;
    padding: 1rem;
    font-size: 1.1rem;
    font-weight: 900;
    color: #d45b20
}

.perf-tags small {
    display: block;
    color: #7b6a62;
    font-weight: 400
}

.large-chart {
    position: relative;
    padding: 1.6rem;
    background: #fff
}

.large-chart svg {
    width: 100%
}

.site-footer-v2 {
    position: relative;
    padding: 3.4rem 0 2.2rem;
    background: linear-gradient(120deg, #b22422, #8f201e);
    font-family: 'Noto Sans TC', 'Microsoft JhengHei', sans-serif
}

.footer-v2-grid {
    display: grid;
    grid-template-columns: minmax(220px, 2.1fr) repeat(9, minmax(56px, 1fr));
    gap: 1.35rem
}

.footer-brand {
    display: flex;
    align-items: center;
    gap: .9rem
}

.footer-brand strong {
    display: block;
    font-size: 2rem;
    line-height: 1
}

.footer-brand small {
    font-size: .74rem
}

.footer-contact {
    margin-top: 1.8rem;
    line-height: 1.8
}

.footer-social {
    display: flex;
    gap: 1.2rem;
    margin-top: 1.6rem
}

.footer-social span {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    color: #a32420;
    display: grid;
    place-items: center;
    font-weight: 900
}

.footer-v2-grid h2 {
    font-size: 1.35rem;
    font-weight: 900;
    margin-bottom: .7rem
}

.footer-v2-grid a {
    display: block;
    line-height: 1.9
}

.footer-bottom-v2 {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    margin-top: 2rem;
    font-size: .95rem
}

.footer-license {
    grid-column: 1/-1;
    line-height: 1.8;
    margin-top: 1.5rem;
    /* white-space: pre-line */
}

.footer-license p {
    margin: 0
}

.footer-license p+p {
    /* margin-top: .6rem */
}

.footer-license a {
    color: inherit;
    text-decoration: underline
}

.footer-license img,
.footer-license table {
    max-width: 100%
}

@media(max-width:1100px) {

    .dv-hero-grid,
    .about-overview-grid,
    .fund-strategy,
    .performance-grid {
        grid-template-columns: 1fr
    }

    .process-flow {
        grid-template-columns: repeat(3, 1fr)
    }

    .dv-hero-art {
        height: 360px
    }

    .license-grid,
    .scale-grid,
    .why-grid,
    .risk-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .download-cards,
    .fund-overview-grid {
        grid-template-columns: 1fr
    }

    .partner-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .footer-v2-grid {
        grid-template-columns: repeat(4, 1fr)
    }

    .footer-brand-block {
        grid-column: 1/-1
    }

    .app-promo {
        grid-template-columns: 1fr
    }
}

@media(max-width:640px) {
    .dv-hero {
        min-height: auto
    }

    .dv-hero-grid {
        min-height: auto;
        padding: 3rem 0
    }

    .dv-hero-copy h1 {
        font-size: 3rem
    }

    .dv-title:before,
    .dv-title:after {
        width: 32px;
        margin: 0 .6rem
    }

    .license-grid,
    .scale-grid,
    .why-grid,
    .risk-grid,
    .partner-grid {
        grid-template-columns: 1fr
    }

    .timeline-item {
        grid-template-columns: 1fr
    }

    .timeline-item b {
        padding-left: 34px
    }

    .timeline-item .illus {
        display: none
    }

    .download-cards article {
        padding: 1.5rem
    }

    .promo-metrics,
    .dashboard-card,
    .perf-tags,
    .footer-bottom-v2 {
        grid-template-columns: 1fr
    }

    .footer-v2-grid {
        grid-template-columns: 1fr 1fr
    }

    .app-promo {
        padding: 1.6rem
    }

    .app-promo h2 {
        font-size: 2rem
    }

    .dv-mascot.wink,
    .dv-mascot.wide,
    .dv-mascot.thumbs {
        right: 50%;
        transform: translateX(50%) scale(.8)
    }
}

/* Shared header dropdowns and language switch */
.lang-switch {
    border: 0;
    background: transparent;
    color: #4b3831;
    font-weight: 800;
    cursor: pointer;
    padding: 0 .15rem
}

.lang-switch.is-active,
.lang-switch:hover {
    color: var(--red)
}

.mobile-header-tools {
    display: none
}

.nav-menu {
    align-items: center
}

.nav-item {
    position: relative;
    display: flex;
    align-items: center
}

.has-submenu>.nav-link {
    display: inline-flex;
    align-items: center;
    gap: .35rem
}

.nav-submenu {
    position: absolute;
    top: calc(100% + .9rem);
    left: 50%;
    z-index: 60;
    min-width: 168px;
    padding: .7rem;
    background: rgba(255, 255, 255, .97);
    border: 1px solid #eadfd5;
    border-radius: 14px;
    box-shadow: 0 18px 42px rgba(77, 36, 18, .13);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease
}

.nav-submenu:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1rem;
    height: 1rem
}

.has-submenu:hover .nav-submenu,
.has-submenu:focus-within .nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0)
}

.nav-submenu a {
    display: block;
    padding: .68rem .85rem;
    border-radius: 10px;
    color: #3b2b25;
    font-weight: 800;
    white-space: nowrap
}

.nav-submenu a:hover,
.nav-submenu a.active {
    background: #fff4ea;
    color: var(--red);
    text-decoration: none
}

.mobile-subnav {
    border-bottom: 1px solid rgba(179, 38, 30, .12);
    padding-bottom: .2rem
}

.mobile-subnav summary {
    list-style: none;
    cursor: pointer
}

.mobile-subnav summary::-webkit-details-marker {
    display: none
}

.mobile-subnav summary:after {
    content: "+";
    float: right;
    color: var(--red);
    font-weight: 900
}

.mobile-subnav[open] summary:after {
    content: "-"
}

.mobile-subnav div {
    display: grid;
    gap: .55rem;
    padding: .65rem 0 .2rem 1rem
}

.mobile-subnav div a {
    color: #5d453d
}

.mobile-nav-menu {
    line-height: 1.7
}

/* Product SVG icons, trading panels, and tactile card hover */
.home-product-strip {
    width: min(1180px, calc(100% - 2rem))
}

.svg-product-icon svg,
.trade-svg-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round
}

.mock-product,
.mock-card,
.card,
.license-card,
.scale-grid article,
.download-cards article,
.why-grid article,
.fund-overview-grid article,
.risk-grid article,
.partner-grid img {
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), box-shadow .28s ease, border-color .28s ease, background .28s ease
}

.mock-product:hover,
.mock-card:hover,
.card:hover,
.license-card:hover,
.scale-grid article:hover,
.download-cards article:hover,
.why-grid article:hover,
.fund-overview-grid article:hover,
.risk-grid article:hover,
.partner-grid img:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 58px rgba(112, 48, 19, .14);
    border-color: #e7bf83
}

.mock-product:hover .mock-product-icon {
    transform: scale(1.08) rotate(-4deg);
    /* box-shadow: 0 14px 30px rgba(179, 38, 30, .18) */
}

.mock-product-icon {
    transition: transform .28s ease, box-shadow .28s ease
}

.trade-market-tabs .mock-product.is-active {
    background: linear-gradient(135deg, #fff8ee, #fff);
    border-bottom: 3px solid var(--red);
    color: var(--red)
}

.trade-data-section {
    padding-top: 1.8rem
}

.trade-panel {
    display: none;
    grid-template-columns: 1.15fr .85fr;
    gap: 2rem;
    align-items: stretch;
    border: 1px solid #eadfd5;
    border-radius: 24px;
    background: radial-gradient(circle at 82% 16%, rgba(246, 178, 61, .22), transparent 28%), rgba(255, 255, 255, .92);
    box-shadow: 0 18px 44px rgba(77, 36, 18, .08);
    padding: 2.4rem
}

.trade-panel.is-active {
    display: grid;
    animation: tradePanelIn .32s ease both
}

.trade-panel h2 {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 900;
    color: #64251c
}

.trade-panel p {
    font-size: 1.15rem;
    line-height: 1.9;
    color: #5c4b43
}

.trade-panel dl {
    display: grid;
    gap: .8rem;
    margin-top: 1.5rem
}

.trade-panel dl div {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    padding: .9rem 1rem;
    border-radius: 14px;
    background: #fff7ed;
    border: 1px solid #f0dfcd
}

.trade-panel dt {
    font-weight: 900;
    color: #8c2d20
}

.trade-panel dd {
    color: #3f302a
}

.trade-panel-card {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(140deg, #b3261e, #df6b20);
    color: #fff;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 320px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22)
}

.trade-panel-card:before {
    content: "";
    position: absolute;
    right: -48px;
    top: -48px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 236, 172, .28)
}

.trade-panel-card strong {
    font-size: clamp(3.4rem, 6vw, 5.4rem);
    line-height: 1;
    color: #ffe4a3
}

.trade-panel-card span {
    font-size: 1.55rem;
    font-weight: 900
}

.trade-panel-card p {
    color: #fff8e8
}

.nav-submenu a.is-hash-active,
.mobile-subnav a.is-hash-active {
    background: #fff4ea;
    color: var(--red);
    font-weight: 900
}

@keyframes tradePanelIn {
    from {
        opacity: 0;
        transform: translateY(14px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media(max-width:900px) {
    .trade-panel {
        grid-template-columns: 1fr;
        padding: 1.5rem
    }

    .trade-panel dl div {
        grid-template-columns: 1fr
    }

    .trade-panel-card {
        min-height: 220px
    }

    .home-product-strip {
        width: min(100% - 1.25rem, 1180px)
    }
}

/* Targeted layout fixes: home products, promo detail, help contact cards */
.home-product-strip {
    width: min(1180px, calc(100% - 2rem)) !important
}

.home-product-strip .mock-product {
    padding-inline: 1.35rem
}

@media(min-width:1280px) {
    .home-product-strip {
        width: min(1540px, calc(100% - 96px)) !important
    }
}

.promo-detail-hero {
    padding: 4.5rem 0 3.5rem;
    background: radial-gradient(circle at 78% 16%, rgba(246, 178, 61, .22), transparent 30%), linear-gradient(110deg, #fff8f0, #fff)
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    margin-bottom: 2rem;
    color: #7a6258
}

.breadcrumb a {
    color: #a52b21;
    font-weight: 800
}

.promo-detail-hero h1 {
    font-size: clamp(2.7rem, 5vw, 5rem);
    font-weight: 900;
    color: #6b241b;
    letter-spacing: .06em
}

.promo-detail-hero p:not(.kicker) {
    max-width: 820px;
    margin-top: 1rem;
    font-size: 1.2rem;
    line-height: 1.9
}

.promo-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 2rem;
    padding: 3.6rem 0
}

.promo-detail-nav {
    position: sticky;
    top: 130px;
    align-self: start;
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 16px 38px rgba(77, 36, 18, .07)
}

.promo-detail-nav a {
    padding: .85rem 1rem;
    border-radius: 12px;
    color: #5b332b;
    font-weight: 900
}

.promo-detail-nav a:hover {
    background: #fff4ea;
    color: var(--red);
    text-decoration: none
}

.promo-recommend h2 {
    padding: .35rem 1rem .75rem;
    color: #64251c;
    font-size: 1.45rem;
    font-weight: 900
}

.promo-recommend a {
    display: grid;
    gap: .28rem;
    border: 1px solid transparent
}

.promo-recommend span {
    color: #4d251d;
    font-size: 1.05rem;
    font-weight: 900
}

.promo-recommend small {
    color: #8b6a5d;
    font-size: .88rem;
    line-height: 1.45
}

.rich-text-card {
    border: 1px solid #eadfd5;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(77, 36, 18, .08);
    padding: 2.4rem 3rem
}

.rich-text-card section+section {
    margin-top: 2.7rem;
    padding-top: 2.3rem;
    border-top: 1px solid #eee1d6
}

.rich-text-card h2 {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 900;
    color: #64251c
}

.rich-text-card h3 {
    margin-top: 1.5rem;
    font-size: 1.35rem;
    font-weight: 900;
    color: #9f3a24
}

.rich-text-card p,
.rich-text-card li {
    font-size: 1.08rem;
    line-height: 1.9;
    color: #4f413c
}

.rich-text-card .meta {
    margin-top: .5rem;
    color: #b45a2a;
    font-weight: 900
}

.rich-text-card ul,
.rich-text-card ol {
    margin-top: 1rem;
    padding-left: 1.4rem
}

.rich-text-card blockquote {
    margin: 1.4rem 0;
    padding: 1rem 1.2rem;
    border-left: 5px solid #d99a2d;
    background: #fff7ec;
    border-radius: 0 14px 14px 0;
    color: #6c3a22;
    font-weight: 800
}

.rich-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem
}

.contact-grid>article {
    display: flex;
    flex-direction: column;
    min-height: 360px
}

.contact-grid>article .image-placeholder {
    margin-top: auto !important;
    min-height: 140px
}

.contact-grid>article .btn-outline {
    align-self: flex-start
}

@media(max-width:900px) {
    .promo-detail-layout {
        grid-template-columns: 1fr
    }

    .promo-detail-nav {
        position: static
    }

    .rich-text-card {
        padding: 1.5rem
    }

    .home-product-strip {
        width: min(100% - 1.25rem, 1180px) !important
    }
}

@media(max-width:768px) {
    .promo-detail-page .promo-detail-hero>.container,
    .promo-detail-page .promo-detail-layout {
        width: min(100% - 2rem, 1180px);
        margin-inline: auto
    }

    .promo-detail-page .rich-text-card img,
    .promo-detail-page .rich-text-card table {
        max-width: 100%
    }
}

/* Mobile design-system refinements */
.mobile-menu-trigger {
    display: inline-grid;
    /* grid-template-columns: 24px auto; */
    grid-template-rows: repeat(3, 4px);
    align-items: center;
    gap: 3px .55rem;
    padding: .62rem .78rem;
    border: 1px solid rgba(179, 38, 30, .22);
    border-radius: 999px;
    background: #fff7ef;
    color: #7b2419;
    font-weight: 900;
    box-shadow: 0 10px 24px rgba(77, 36, 18, .08)
}

.mobile-menu-trigger span {
    width: 24px;
    height: 2px;
    border-radius: 99px;
    background: currentColor
}

.mobile-menu-trigger b {
    grid-row: 1/4;
    grid-column: 2;
    font-size: .92rem
}

.mobile-panel-head {
    display: none
}

@media(max-width:768px) {
    body:has(.menu-toggle:checked) {
        overflow: hidden
    }

    .topbar {
        display: none !important
    }

    .mobile-header-tools {
        display: inline-flex;
        align-items: center;
        gap: .75rem;
        margin-left: auto
    }

    .mobile-header-lang {
        display: inline-flex;
        align-items: center;
        gap: .15rem;
        padding: .4rem .75rem;
        border: 1px solid rgba(178, 128, 87, .2);
        border-radius: 999px;
        background: rgba(255, 250, 244, .92);
        box-shadow: 0 10px 24px rgba(77, 36, 18, .08);
        color: #3d2b25;
        font-size: 1rem;
        font-weight: 900;
        line-height: 1;
        white-space: nowrap
    }

    .mobile-header-lang .lang-switch {
        min-width: 28px;
        min-height: 28px;
        padding: 0 .1rem;
        font-size: 1rem;
        font-weight: 900
    }

    header.sticky {
        position: sticky;
        top: 0
    }

    .brand-mark {
        width: 40px;
        height: 40px;
        border-radius: 10px
    }

    header nav.container {
        width: 100%;
        padding: .85rem 1rem
    }

    .mobile-panel {
        position: fixed;
        inset: 0;
        z-index: 80;
        max-height: none !important;
        min-height: 100dvh;
        padding: 1rem 1.15rem 2rem;
        overflow-y: auto;
        background: radial-gradient(circle at 88% 8%, rgba(255, 204, 117, .32), transparent 30%), linear-gradient(145deg, #fffaf4, #fff2e7 55%, #fff);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px) scale(.985);
        transition: opacity .24s ease, transform .24s ease, visibility .24s ease
    }

    .menu-toggle:checked~.mobile-panel {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1)
    }

    .mobile-panel-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: sticky;
        top: 0;
        z-index: 2;
        padding: .4rem 0 1rem;
        background: linear-gradient(180deg, #fffaf4 70%, rgba(255, 250, 244, 0))
    }

    .mobile-panel-head strong {
        font-size: 1.35rem;
        color: #64251c
    }

    .mobile-panel-head label,
    .mobile-panel-head button {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        background: #b3261e;
        color: #fff;
        font-size: 2rem;
        line-height: 1;
        box-shadow: 0 14px 30px rgba(179, 38, 30, .25)
    }

    .mobile-panel-tools {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .8rem;
        flex-wrap: wrap;
        margin-bottom: .5rem;
        padding: .9rem 1.05rem;
        border: 1px solid #ecd9c8;
        border-radius: 16px;
        background: rgba(255, 255, 255, .82);
        box-shadow: 0 12px 26px rgba(77, 36, 18, .06)
    }

    .mobile-panel-tools .lang-group {
        display: inline-flex;
        align-items: center;
        gap: .15rem;
        font-size: 1.15rem;
        font-weight: 900;
        color: #3d2b25;
        white-space: nowrap
    }

    .mobile-panel-tools .lang-switch {
        min-width: 32px;
        min-height: 36px;
        padding: 0 .2rem;
        font-size: 1.15rem;
        font-weight: 900
    }

    .mobile-panel-tools .quick-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: .45rem;
        flex-wrap: wrap
    }

    .mobile-panel-tools .quick-actions .btn-outline,
    .mobile-panel-tools .quick-actions .btn-primary {
        white-space: nowrap
    }

    .mobile-nav-menu {
        display: grid !important;
        gap: .75rem !important;
        padding-top: .5rem !important
    }

    .mobile-nav-menu>a,
    .mobile-subnav summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1.05rem;
        border: 1px solid #ecd9c8;
        border-radius: 16px;
        background: rgba(255, 255, 255, .82);
        box-shadow: 0 12px 26px rgba(77, 36, 18, .06);
        font-size: 1.15rem;
        font-weight: 900;
        color: #3d2b25
    }

    .mobile-nav-menu>a.active,
    .mobile-subnav summary.active {
        background: linear-gradient(135deg, #be2a1f, #e05b1d);
        color: #fff;
        border-color: transparent
    }

    .mobile-subnav {
        border: 0;
        padding: 0
    }

    .mobile-subnav summary:after {
        content: '+';
        float: none;
        margin-left: auto;
        color: inherit
    }

    .mobile-subnav[open] summary:after {
        content: '-'
    }

    .mobile-subnav div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .6rem;
        padding: .7rem .25rem .2rem
    }

    .mobile-subnav div a {
        padding: .78rem .9rem;
        border-radius: 14px;
        background: #fff;
        border: 1px solid #efdfcf;
        color: #6b3b2c;
        font-weight: 800;
        text-align: center
    }

    .mobile-subnav div a.is-hash-active,
    .mobile-subnav div a.active {
        background: #fff2e3;
        color: #b3261e;
        border-color: #e6b06e
    }

    .site-footer-v2 {
        padding: 2rem 0 1.4rem
    }

    .site-footer-v2 .container {
        width: min(100% - 1.25rem, 1180px)
    }

    .footer-v2-grid {
        grid-template-columns: 1fr !important;
        gap: .85rem
    }

    .footer-brand-block {
        padding: 1.1rem;
        border: 1px solid rgba(255, 255, 255, .18);
        border-radius: 20px;
        background: rgba(255, 255, 255, .08)
    }

    .footer-brand strong {
        font-size: 1.55rem
    }

    .footer-contact {
        margin-top: 1rem;
        font-size: 1.02rem
    }

    .footer-social {
        gap: .8rem
    }

    .footer-social a,
    .footer-social span {
        width: 38px;
        height: 38px
    }

    .footer-v2-grid nav {
        display: none;
    }

    .footer-v2-grid nav h2 {
        font-size: 1.15rem;
        margin: 0 0 .55rem
    }

    .footer-v2-grid nav a {
        display: inline-block;
        margin: 0 .85rem .35rem 0;
        line-height: 1.5;
        font-size: 1rem
    }

    .footer-bottom-v2 {
        grid-template-columns: 1fr !important;
        gap: .75rem;
        margin-top: 1.1rem;
        font-size: .92rem
    }

    .footer-license {
        margin-top: .4rem;
        font-size: .92rem;
        line-height: 1.7
    }

    .footer-license p,
    .footer-license li {
        font-size: .92rem
    }

    .table-wrap {
        width: 100%;
        max-width: 100vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 16px
    }

    .table-wrap:before {
        content: '\5DE6\53F3\6ED1\52D5\67E5\770B\5B8C\6574\8868\683C';
        display: none;
        position: sticky;
        left: 0;
        padding: .72rem 1rem;
        background: #fff7ed;
        color: #9b3a22;
        font-weight: 900;
        border-bottom: 1px solid #eadfd5
    }

    .fee-table,
    .fee-table.mock {
        min-width: 720px;
        width: 720px
    }

    .fee-table th,
    .fee-table td {
        padding: .78rem .85rem;
        font-size: .92rem;
        white-space: normal
    }

    .fee-layout {
        display: block
    }

    .fee-side {
        position: static !important;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .55rem;
        margin-bottom: 1rem;
        padding: .8rem
    }

    .fee-side a {
        margin: 0 !important;
        padding: .65rem .7rem;
        border-radius: 12px;
        background: #fff7ef;
        font-size: .9rem
    }

    .mock-download {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1.15rem
    }

    .mock-download>.image-placeholder {
        min-height: 230px !important;
        order: 1
    }

    .mock-download>div:not(.image-placeholder) {
        order: 2
    }

    .mock-download .mock-heading {
        text-align: center !important
    }

    .mock-download>div>p {
        text-align: center
    }

    .mock-download .download-cards {
        grid-template-columns: 1fr !important;
        gap: 1rem
    }

    .mock-download .mini-card {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: .7rem;
        padding: 1rem
    }

    .mock-download .mini-card .qr-placeholder {
        grid-row: 1/3;
        grid-column: 2;
        width: 84px;
        height: 84px;
        margin: 0
    }

    .about-v2 .dv-hero,
    .funds-v2 .dv-hero {
        min-height: auto
    }

    .about-v2 .dv-hero-grid,
    .funds-v2 .dv-hero-grid {
        display: block;
        min-height: auto;
        padding: 2.7rem 0 2rem
    }

    .about-v2 .dv-hero-copy h1,
    .funds-v2 .dv-hero-copy h1 {
        font-size: clamp(2.55rem, 12vw, 3.4rem);
        letter-spacing: .04em
    }

    .about-v2 .dv-lead,
    .funds-v2 .dv-lead {
        font-size: 1.22rem;
        line-height: 1.65
    }

    .about-v2 .dv-desc,
    .funds-v2 .dv-desc {
        font-size: 1rem;
        line-height: 1.75
    }

    .about-v2 .dv-hero-art,
    .funds-v2 .dv-hero-art {
        height: 260px;
        margin-top: 1rem
    }

    .about-v2 .dv-mascot.wink,
    .funds-v2 .dv-mascot.wide {
        width: 210px;
        height: 220px;
        right: 50%;
        bottom: 0;
        transform: translateX(50%) scale(.9)
    }

    .about-overview-grid,
    .license-grid,
    .scale-grid,
    .fund-overview-grid,
    .fund-strategy,
    .risk-grid,
    .performance-grid,
    .process-flow {
        grid-template-columns: 1fr !important
    }

    .partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .85rem !important
    }

    .about-intro {
        min-height: 320px;
        padding: 1.45rem
    }

    .timeline-card {
        padding: 1rem
    }

    .timeline-item {
        grid-template-columns: 1fr !important;
        gap: .65rem;
        padding: 1rem 0
    }

    .timeline-item b {
        padding-left: 2.2rem;
        font-size: 1.9rem
    }

    .license-card .cert {
        height: 220px
    }

    .scale-grid article {
        min-height: 190px
    }

    .partner-grid img {
        height: 64px;
        padding: 10px 12px;
        border-radius: 14px
    }

    .fund-overview-grid article {
        grid-template-columns: 72px 1fr;
        padding: 1.25rem
    }

    .fund-overview-grid i {
        width: 56px;
        height: 56px
    }

    .strategy-copy {
        padding-left: 1rem
    }

    .strategy-copy h2,
    .performance-grid h2 {
        font-size: 2rem
    }

    .dashboard-card {
        grid-template-columns: 1fr !important
    }

    .fund-performance {
        padding: 2.4rem 1rem
    }

    .large-chart {
        padding: 1rem
    }

    .large-chart b {
        position: static;
        display: inline-block;
        margin-top: .8rem
    }

    .dv-section {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem
    }

    .dv-title {
        font-size: 2rem;
        letter-spacing: .05em
    }

    .dv-title:before,
    .dv-title:after {
        width: 26px;
        margin: 0 .35rem
    }
}

@media(max-width:380px) {
    .partner-grid {
        grid-template-columns: 1fr !important
    }

    .partner-grid img {
        height: 60px
    }
}

@supports not selector(:has(*)) {
    @media(max-width:768px) {
        .menu-toggle:checked~.mobile-panel {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1)
        }
    }
}

/* Mobile menu reliability and card alignment fixes */
.menu-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
    padding: 0;
    margin: -1px
}

.is-mobile-menu-open {
    overflow: hidden
}

.is-mobile-menu-open .mobile-panel,
header.is-mobile-menu-open .mobile-panel {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important
}

.mock-download .download-cards {
    align-items: stretch
}

.mock-download .mini-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 260px
}

.mock-download .mini-card .qr-placeholder {
    align-self: end;
    justify-self: center
}

.mock-download .mini-card p {
    min-height: 1.8em
}

@media(max-width:768px) {
    .mock-download .mini-card {
        grid-template-columns: auto;
        grid-template-rows: auto 1fr;
        min-height: 118px
    }

    .mock-download .mini-card h3 {
        align-self: end
    }

    .mock-download .mini-card p {
        align-self: start;
        min-height: auto
    }

    .mock-download .mini-card .qr-placeholder {
        grid-row: 1/3;
        grid-column: 2;
        align-self: center;
        justify-self: end
    }
}

/* Home page image replacement based on 01 design assets */
.home-visual-hero {
    position: relative;
    overflow: hidden;
    background: #fff7ee
}

.home-visual-hero>img {
    display: block;
    width: 100%;
    height: auto
}

.home-hero-actions {
    position: absolute;
    left: max(7.6vw, calc((100vw - 1180px)/2));
    top: 59%;
    display: flex;
    gap: 1.4rem;
    z-index: 2
}

.home-hero-actions .btn-primary,
.home-hero-actions .btn-outline {
    min-width: 170px;
    border-radius: 10px;
    font-size: 1.25rem
}

.image-product-strip {
    width: min(1360px, calc(100% - 96px)) !important;
    margin: -4.2rem auto 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .8rem;
    position: relative;
    z-index: 4
}

.image-product-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(80, 38, 15, .12);
    border: 1px solid #eadfd5;
    transition: transform .28s ease, box-shadow .28s ease
}

.image-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 58px rgba(112, 48, 19, .16);
    text-decoration: none
}

.image-product-card>img {
    width: 100%;
    display: block
}

.image-product-card span {
    position: absolute;
    inset: auto 12px 14px;
    display: grid;
    text-align: center;
    pointer-events: none
}

.image-product-card strong {
    font-size: 1.35rem;
    color: #1f1512
}

.image-product-card small {
    font-size: .9rem;
    color: #4d403b;
    line-height: 1.4
}

.home-image-section {
    padding-top: 4.2rem
}

.home-promo-images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem
}

.home-promo-images a,
.home-fund-images a,
.home-campaign-banner {
    display: block;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(80, 38, 15, .1);
    transition: transform .28s ease, box-shadow .28s ease
}

.home-promo-images a:hover,
.home-fund-images a:hover,
.home-campaign-banner:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 54px rgba(112, 48, 19, .16)
}

.home-promo-images img,
.home-fund-images img,
.home-campaign-banner img {
    display: block;
    width: 100%;
    height: auto
}

.home-fund-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem
}

.home-adv-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem
}

.home-adv-images article {
    display: flex;
    flex-direction: column;
    text-align: center;
    min-height: 350px;
    padding: 1.6rem 1.2rem 0;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 14px 34px rgba(77, 36, 18, .07);
    overflow: hidden
}

.home-adv-images h3 {
    font-size: 1.35rem;
    font-weight: 900;
    color: #2d1b16
}

.home-adv-images p {
    margin-top: .65rem;
    line-height: 1.65;
    color: #4d403b
}

.home-adv-images img {
    width: 100%;
    margin-top: auto;
    display: block
}

.home-campaign-banner {
    border-radius: 20px
}

.home-app-section {
    background: linear-gradient(180deg, #fff, #fff8ef)
}

.home-app-download {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 2.2rem;
    align-items: center
}

.home-app-visual img {
    width: 100%;
    display: block
}

.home-app-content .mock-heading {
    font-size: clamp(2.4rem, 3.2vw, 3.6rem)
}

.home-download-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem
}

.home-download-cards article {
    position: relative;
    min-height: 265px;
    padding: 1.5rem;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(77, 36, 18, .07)
}

.download-platform-icon {
    width: 38px;
    height: 38px;
    object-fit: contain;
    margin-bottom: .75rem
}

.home-download-cards h3 {
    font-size: 1.55rem;
    font-weight: 900;
    color: #221815
}

.home-download-cards p {
    margin-top: .65rem;
    line-height: 1.55;
    color: #5d4a42
}

.home-download-cards .qr-placeholder {
    width: 112px;
    height: 112px;
    margin: 1rem 0 0
}

.home-download-cards article>a {
    position: absolute;
    right: 1.1rem;
    bottom: 1.25rem;
    border: 1px solid rgba(179, 38, 30, .55);
    border-radius: 8px;
    padding: .5rem .8rem;
    color: #b3261e;
    font-weight: 900
}

.home-help-grid {
    display: grid;
    grid-template-columns: 1.15fr .8fr 1.2fr;
    gap: 1.5rem
}

.home-help-contact,
.home-help-card {
    min-height: 230px;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(77, 36, 18, .07);
    padding: 2rem
}

.home-help-contact h2,
.home-help-card h2 {
    font-size: 2rem;
    font-weight: 900
}

.home-help-contact>p,
.home-help-card>p {
    margin-top: .8rem
}

.home-help-contact div {
    display: grid;
    grid-template-columns: 30px 1fr;
    gap: .85rem;
    align-items: center;
    margin-top: 1.15rem
}

.home-help-contact img {
    width: 26px;
    height: 26px;
    object-fit: contain
}

.home-help-faq {
    display: grid;
    grid-template-columns: 1fr 170px;
    align-items: end;
    overflow: hidden;
    padding-bottom: 0
}

.home-help-faq>img {
    width: 190px;
    align-self: end;
    justify-self: end
}

@media(max-width:1024px) {
    .home-hero-actions {
        position: static;
        padding: 1rem 1.25rem 1.5rem;
        background: #fff7ef
    }

    .image-product-strip {
        width: min(100% - 1.25rem, 1180px) !important;
        margin: 1rem auto 0;
        grid-template-columns: repeat(3, 1fr)
    }

    .home-promo-images,
    .home-download-cards,
    .home-help-grid {
        grid-template-columns: 1fr
    }

    .home-fund-images,
    .home-adv-images {
        grid-template-columns: 1fr 1fr
    }

    .home-app-download {
        grid-template-columns: 1fr
    }

    .home-app-visual {
        max-width: 520px;
        margin: auto
    }

    .home-help-faq {
        grid-template-columns: 1fr 140px
    }
}

@media(max-width:640px) {
    .home-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .8rem
    }

    .home-hero-actions .btn-primary,
    .home-hero-actions .btn-outline {
        min-width: 0;
        font-size: 1rem;
        padding: .75rem .8rem
    }

    .image-product-strip {
        grid-template-columns: repeat(2, 1fr);
        gap: .65rem
    }

    .image-product-card span {
        inset: auto 8px 10px
    }

    .image-product-card strong {
        font-size: 1.05rem
    }

    .image-product-card small {
        font-size: .74rem
    }

    .home-image-section {
        padding-top: 2.8rem
    }

    .home-promo-images,
    .home-fund-images,
    .home-adv-images {
        grid-template-columns: 1fr
    }

    .home-adv-images article {
        min-height: 280px
    }

    .home-download-cards article {
        min-height: 220px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: .6rem
    }

    .home-download-cards .download-platform-icon {
        grid-column: 1
    }

    .home-download-cards .qr-placeholder {
        grid-row: 1/4;
        grid-column: 2;
        width: 92px;
        height: 92px;
        margin: 0;
        align-self: center
    }

    .home-download-cards article>a {
        position: static;
        grid-column: 1/3;
        width: max-content;
        margin-top: .5rem
    }

    .home-help-grid {
        grid-template-columns: 1fr
    }

    .home-help-contact,
    .home-help-card {
        padding: 1.4rem;
        min-height: auto
    }

    .home-help-faq {
        grid-template-columns: 1fr 118px
    }

    .home-help-faq>img {
        width: 130px
    }
}

/* Home v3: use images as art/background while preserving HTML text */
.home-page-v3 .home-visual-hero {
    min-height: 690px;
    background: #fff8ef;
    position: relative;
    overflow: hidden
}

.home-page-v3 .home-hero-bg {
    position: absolute;
    inset: 0;
    background: url('img/01/01-1-1.png') center top/cover no-repeat
}

.home-page-v3 .home-hero-bg:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 52%;
    background: linear-gradient(90deg, rgba(255, 248, 239, .93), rgba(255, 248, 239, .7) 62%, rgba(255, 248, 239, .08))
}

.home-page-v3 .home-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 150px
}

.home-page-v3 .home-hero-content h1 {
    font-size: clamp(4rem, 6vw, 6.4rem);
    line-height: 1.15;
    letter-spacing: .09em;
    font-weight: 900;
    color: #9b2c20;
    text-shadow: 0 2px 0 rgba(255, 255, 255, .75)
}

.home-page-v3 .home-market-line {
    margin-top: 1.6rem;
    font-size: 1.55rem;
    font-weight: 900;
    letter-spacing: .32em;
    color: #2b1d18
}

.home-page-v3 .home-hero-sub {
    margin-top: .75rem;
    font-size: 1.5rem;
    letter-spacing: .22em;
    color: #372720
}

.home-page-v3 .home-hero-buttons {
    display: flex;
    gap: 1.6rem;
    margin-top: 2.3rem
}

.home-page-v3 .home-hero-buttons a {
    min-width: 190px;
    border-radius: 10px;
    font-size: 1.28rem
}

.composed-product-strip {
    width: min(1360px, calc(100% - 96px)) !important;
    margin: -7.2rem auto 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .9rem;
    position: relative;
    z-index: 5
}

.composed-product-card {
    display: grid;
    grid-template-rows: 92px auto auto;
    justify-items: center;
    min-height: 192px;
    padding: 1.05rem .8rem .95rem;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 42px rgba(80, 38, 15, .12);
    text-align: center;
    transition: .28s ease
}

.composed-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 58px rgba(112, 48, 19, .16);
    text-decoration: none
}

.composed-product-card.active strong {
    color: #d83a18
}

.composed-product-card img {
    height: 92px;
    width: auto;
    object-fit: contain
}

.composed-product-card strong {
    font-size: 1.45rem;
    font-weight: 900;
    color: #1f1512
}

.composed-product-card small {
    margin-top: .5rem;
    font-size: .92rem;
    line-height: 1.55;
    color: #4f403a
}

.home-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem
}

.home-offer-card {
    min-height: 237px;
    padding: 2rem;
    border-radius: 18px;
    overflow: hidden;
    background-image: linear-gradient(90deg, rgba(136, 21, 20, .72), rgba(219, 74, 21, .16)), var(--bg);
    background-size: cover;
    background-position: center;
    box-shadow: 0 16px 36px rgba(80, 38, 15, .12);
    color: #fff;
    position: relative
}

.home-offer-card h3 {
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.25
}

.home-offer-card strong {
    display: block;
    margin-top: 1.2rem;
    font-size: 3.2rem;
    line-height: 1;
    color: #ffe4a3
}

.home-offer-card strong span {
    font-size: 1.2rem
}

.home-offer-card a {
    display: inline-flex;
    margin-top: 1.4rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    padding: .55rem 1.2rem;
    color: #fff;
    font-weight: 900
}

.home-fund-composed {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem
}

.home-fund-composed article {
    min-height: 193px;
    padding: 2rem;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .7) 45%, rgba(255, 255, 255, .08)), var(--bg);
    background-size: cover;
    background-position: center;
    box-shadow: 0 16px 36px rgba(80, 38, 15, .08)
}

.home-fund-composed h3 {
    font-size: 2rem;
    font-weight: 900;
    color: #2d1b16
}

.home-fund-composed p {
    margin-top: .75rem;
    font-size: 1.15rem;
    line-height: 1.55
}

.home-fund-composed a {
    display: inline-flex;
    margin-top: 1.3rem;
    background: #d83a18;
    color: #fff;
    border-radius: 999px;
    padding: .6rem 1.3rem;
    font-weight: 900
}

.home-gift-banner {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(112, 48, 19, .12)
}

.home-gift-banner>img {
    display: block;
    width: 100%
}

.home-gift-banner>div {
    position: absolute;
    left: 4.8%;
    top: 20%;
    color: #fff
}

.home-gift-banner h2 {
    font-size: clamp(2rem, 3.8vw, 3.8rem);
    font-weight: 900;
    color: #fff6c7
}

.home-gift-banner p {
    margin-top: .7rem;
    font-size: 1.35rem
}

.home-gift-banner a {
    display: inline-flex;
    margin-top: 1.5rem;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 10px;
    padding: .85rem 2.8rem;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 900
}

.home-page-v3 .home-image-section {
    padding-top: 4.3rem
}

@media(max-width:1024px) {
    .home-page-v3 .home-visual-hero {
        min-height: auto
    }

    .home-page-v3 .home-hero-bg {
        position: relative;
        display: block;
        height: auto;
        aspect-ratio: 1651/691
    }

    .home-page-v3 .home-hero-content {
        padding: 1.6rem 1rem 1.2rem
    }

    .home-page-v3 .home-hero-content h1 {
        font-size: 2.7rem
    }

    .home-page-v3 .home-market-line,
    .home-page-v3 .home-hero-sub {
        font-size: 1.1rem;
        letter-spacing: .12em
    }

    .home-page-v3 .home-hero-buttons {
        margin-top: 1.3rem
    }

    .composed-product-strip {
        margin: 1rem auto 0;
        grid-template-columns: repeat(3, 1fr);
        width: min(100% - 1.25rem, 1180px) !important
    }

    .home-offer-grid,
    .home-download-cards,
    .home-help-grid {
        grid-template-columns: 1fr
    }

    .home-fund-composed,
    .home-adv-images {
        grid-template-columns: 1fr 1fr
    }

    .home-gift-banner>div {
        position: static;
        background: linear-gradient(135deg, #b3261e, #e85d1e);
        padding: 1.5rem
    }

    .home-gift-banner h2 {
        font-size: 2rem
    }

    .home-gift-banner p {
        font-size: 1rem
    }

    .home-gift-banner>img {
        display: none
    }
}

@media(max-width:640px) {
    .home-page-v3 .home-hero-content h1 {
        font-size: 2.25rem
    }

    .home-page-v3 .home-hero-buttons {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .8rem
    }

    .home-page-v3 .home-hero-buttons a {
        min-width: 0;
        font-size: 1rem;
        padding: .75rem .8rem
    }

    .composed-product-strip {
        grid-template-columns: repeat(2, 1fr)
    }

    .composed-product-card {
        grid-template-rows: 76px auto auto;
        min-height: 170px
    }

    .composed-product-card img {
        height: 76px
    }

    .composed-product-card strong {
        font-size: 1.15rem
    }

    .composed-product-card small {
        font-size: .78rem
    }

    .home-offer-grid,
    .home-fund-composed,
    .home-adv-images {
        grid-template-columns: 1fr
    }

    .home-offer-card {
        min-height: 210px;
        padding: 1.45rem
    }

    .home-offer-card h3 {
        font-size: 1.55rem
    }

    .home-offer-card strong {
        font-size: 2.6rem
    }

    .home-fund-composed article {
        min-height: 170px;
        padding: 1.45rem
    }

    .home-gift-banner a {
        padding: .7rem 1.6rem
    }

    .home-page-v3 .home-image-section {
        padding-top: 2.7rem
    }
}

/* Homepage image asset replacements */
.mock-page .mock-hero {
    background: url('img/01/01-1-1.png') center/cover no-repeat;
}

.mock-page .mock-hero:before,
.mock-page .mock-hero:after {
    display: none;
}

.mock-page .mock-hero-inner {
    grid-template-columns: minmax(0, .78fr) minmax(240px, 1fr);
}

.home-product-strip .mock-product {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: .7rem;
}

.home-product-strip .mock-product-icon {
    width: auto;
    height: 64px;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.home-product-strip .mock-product-icon img {
    display: block;
    width: auto;
    height: 64px;
    object-fit: contain;
}

.home-product-strip .mock-product h2 {
    line-height: 1.15;
}

.home-product-strip .mock-product p {
    margin-top: .25rem;
    color: #72534a;
    line-height: 1.45;
}

.promo-card {
    isolation: isolate;
    background-image: linear-gradient(90deg, rgba(135, 19, 18, .78), rgba(216, 58, 24, .24)), var(--promo-bg);
    background-size: cover;
    background-position: center;
}

.promo-card:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, rgba(0, 0, 0, .16), transparent 55%);
}

.mock-fund {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .75) 48%, rgba(255, 255, 255, .08)), var(--fund-bg);
    background-size: cover;
    background-position: center;
}

.mock-adv .image-card {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.mock-adv .image-card:before,
.mock-adv .image-card:after,
.app-visual:before,
.app-visual:after {
    display: none;
}

.mock-adv .image-card .placeholder-img,
.app-visual .placeholder-img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: contain;
}

.mock-adv {
    display: grid;
    grid-template-rows: auto minmax(3.1em, auto) 1fr;
    align-items: start;
}

.mock-adv h3 {
    min-height: 2.4em;
}

.mock-adv p {
    min-height: 3.1em;
    margin-top: .75rem;
}

.mock-adv .image-card {
    align-self: end;
    width: 100%;
}

.mock-help {
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .72fr) minmax(300px, .88fr);
    align-items: stretch;
}

.mock-help>.mock-card {
    min-width: 0;
}

.mock-help .help-center-card {
    grid-column: auto;
}

.home-gift-bg {
    background: linear-gradient(90deg, rgba(132, 16, 20, .8), rgba(188, 45, 18, .2)), url('img/01/01-6-1.png') center/cover no-repeat;
}

.app-visual {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.download-card-title {
    display: flex;
    align-items: center;
    gap: .65rem;
    white-space: nowrap;
}

.download-card-title img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex: 0 0 auto;
}

.help-center-card {
    grid-column: span 2;
}

.help-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 1.2rem 2rem;
}

.help-contact-grid p {
    display: flex;
    align-items: flex-start;
    gap: .95rem;
    margin: 0;
    color: #49362f;
    line-height: 1.55;
}

.help-contact-grid img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex: 0 0 auto;
}

.faq-card-bg {
    position: relative;
    min-height: 190px;
    padding-right: min(48%, 210px) !important;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .85) 55%, rgba(255, 255, 255, .24)), url('img/01/01-8-5.png');
    background-size: auto 100%;
    background-position: right center;
    background-repeat: no-repeat;
}

@media(max-width:1024px) {
    .mock-page .mock-hero-inner {
        grid-template-columns: 1fr;
    }

    .home-product-strip .mock-product {
        align-items: center;
        text-align: center;
    }

    .mock-help {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mock-help .help-center-card {
        grid-column: auto;
    }
}

@media(max-width:640px) {
    .mock-page .mock-hero {
        min-height: 520px;
        background-position: 58% center;
    }

    .help-contact-grid {
        grid-template-columns: 1fr;
    }

    .mock-help {
        grid-template-columns: 1fr;
    }

    .faq-card-bg {
        padding-right: 1.5rem !important;
        padding-bottom: 8.5rem !important;
        background-size: auto 58%;
        background-position: right bottom;
    }
}

.home-product-strip .mock-product {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    align-content: center;
    gap: .45rem .8rem;
}

.home-product-strip .mock-product>div {
    display: contents;
}

.home-product-strip .mock-product h2 {
    grid-column: 2;
}

.home-product-strip .mock-product p {
    grid-column: 1 / -1;
}

@media(max-width:1024px) {
    .home-product-strip .mock-product {
        justify-items: center;
    }

    .home-product-strip .mock-product h2,
    .home-product-strip .mock-product p {
        text-align: center;
    }
}


/* Homepage fixes: concrete image paths and download module */
.promo-card-1 {
    background-image: linear-gradient(90deg, rgba(135, 19, 18, .08), rgba(216, 58, 24, .02)), url('img/01/01-3-1.png') !important;
}

.promo-card-2 {
    background-image: linear-gradient(90deg, rgba(90, 25, 22, .10), rgba(216, 58, 24, .02)), url('img/01/01-3-2.png') !important;
}

.promo-card-3 {
    background-image: linear-gradient(90deg, rgba(132, 54, 8, .08), rgba(216, 90, 18, .02)), url('img/01/01-3-3.png') !important;
}

.mock-fund-1 {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)), url('img/01/01-4-1.png') !important;
}

.mock-fund-2 {
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)), url('img/01/01-4-2.png') !important;
}

.mock-page .promo-card,
.mock-page .mock-fund {
    background-size: cover;
    background-position: center;
}

.mock-page .promo-card:before {
    display: none;
}

.mock-page .promo-card h3,
.mock-page .promo-card strong,
.mock-page .mock-fund h3,
.mock-page .mock-fund p {
    position: relative;
    z-index: 1;
}

.mock-page .mock-download {
    width: 100%;
    grid-template-columns: minmax(300px, .52fr) minmax(560px, 1fr);
    gap: 2.2rem;
    align-items: center;
    padding: 1.2rem 1.8rem 1.4rem;
    border-radius: 0;
    background: radial-gradient(circle at 16% 78%, rgba(225, 168, 91, .28), transparent 24%), linear-gradient(180deg, #fff, #fffaf5);
}

.mock-page .mock-download .app-visual {
    min-height: 320px !important;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.mock-page .mock-download .app-visual .placeholder-img {
    max-height: 330px;
    object-fit: contain;
}

.mock-page .mock-download .mock-heading {
    margin-bottom: .25rem !important;
    font-size: clamp(1.9rem, 2.35vw, 3rem);
    letter-spacing: .02em;
    color: #2e2725;
}

.mock-page .mock-download .download-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.55rem;
    margin-top: 1.4rem;
}

.mock-page .mock-download .mini-card {
    min-height: 190px;
    padding: 1.25rem 1.25rem 1.1rem;
    border-radius: 16px;
    border-color: #efe1d4;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 28px rgba(77, 36, 18, .06);
}

.mock-page .mock-download .download-card-title {
    gap: .7rem;
    color: #2e2725;
}

.mock-page .mock-download .download-card-title img {
    width: 34px;
    height: 34px;
}

.mock-page .mock-download .mini-card p {
    min-height: 2.9em;
    margin-top: .7rem;
    font-size: .95rem;
    line-height: 1.45;
    color: #6f625d;
}

.download-action-row {
    display: flex;
    align-items: flex-end;
    gap: .8rem;
    margin-top: .8rem;
}

.mock-page .mock-download .qr-placeholder {
    width: 82px;
    height: 82px;
    margin: 0;
    flex: 0 0 auto;
    border-radius: 6px;
}

.download-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    min-height: 34px;
    padding: .45rem .65rem;
    border: 1px solid #e35a4b;
    border-radius: 6px;
    color: #d83a18;
    background: #fff;
    font-size: .86rem;
    font-weight: 900;
    white-space: nowrap;
}

.download-now:hover {
    background: #d83a18;
    color: #fff;
    text-decoration: none;
}

/* Homepage polish: full-width advantage images, real app QR codes, stable footer columns */
.mock-page .mock-adv {
    overflow: hidden;
}

.mock-page .mock-adv .image-card {
    width: calc(100% + 4.2rem);
    margin-right: -2.1rem;
    margin-bottom: -2.1rem;
    margin-left: -2.1rem;
    min-height: 230px;
    border-radius: 0 0 1.2rem 1.2rem;
}

.mock-page .mock-adv .image-card .placeholder-img {
    object-fit: cover;
}

.mock-page .mock-download .qr-placeholder.has-qr {
    display: block;
    padding: 0;
    border: 0;
    background: #fff;
}

.mock-page .mock-download .qr-placeholder.has-qr:after {
    display: none;
}

.mock-page .mock-download .qr-placeholder.has-qr img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(min-width:1101px) {
    .footer-v2-grid {
        grid-template-columns: minmax(260px, 1.7fr) repeat(8, minmax(max-content, 1fr));
        gap: clamp(1rem, 2vw, 2.4rem);
        align-items: start;
    }

    .footer-v2-grid nav {
        min-width: max-content;
    }

    .footer-v2-grid h2,
    .footer-v2-grid a,
    .footer-bottom-v2 a {
        white-space: nowrap;
    }

    .footer-brand-block {
        min-width: 0;
    }
}

@media(max-width:1024px) {
    .mock-page .mock-download {
        grid-template-columns: 1fr;
    }

    .mock-page .mock-download .download-cards {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width:640px) {
    .mock-page .mock-download {
        padding: 1rem;
    }

    .mock-page .mock-download .download-cards {
        grid-template-columns: 1fr;
    }

    .mock-page .mock-download .mini-card {
        min-height: 0;
    }
}

/* Trading page image composition */
.trade-dynamic-page .trading-hero-img {
    min-height: 690px;
    background: url('img/02/02-1-1.png') center top/cover no-repeat;
}

.trade-dynamic-page .trading-hero-img:before,
.trade-dynamic-page .trading-hero-img:after {
    display: none;
}

.trade-dynamic-page .trading-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .62fr) minmax(360px, 1fr);
    padding-top: 6.5rem;
}

.trade-dynamic-page .trade-market-tabs {
    width: min(1450px, calc(100% - 96px));
    margin: -5.2rem auto 0;
    border-radius: 24px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 18px 42px rgba(82, 43, 18, .12);
}

.trade-dynamic-page .trade-market-tabs .mock-product {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem .85rem;
    align-items: center;
    min-height: 100px;
    padding: 1.1rem 1.2rem;
}

.trade-dynamic-page .trade-market-tabs .mock-product>div {
    display: contents;
}

.trade-dynamic-page .trade-img-icon {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    overflow: hidden;
    background: #f6e2d2;
}

.trade-dynamic-page .trade-img-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.trade-dynamic-page .trade-market-tabs h2 {
    grid-column: 2;
    color: #211713;
}

.trade-dynamic-page .trade-market-tabs p {
    grid-column: 2;
    color: #64504a;
}

.trade-dynamic-page .trade-market-tabs .is-active h2 {
    color: #b3261e;
}

.trade-dynamic-page .trade-data-section {
    display: none;
}

.trade-dynamic-page .feature-grid-4 .mock-card {
    min-height: 0;
    padding: 1.85rem 1.85rem 0 !important;
    border-radius: 18px;
    background: #fffaf5;
}

.trade-card-art {
    margin-left: -1.85rem;
    margin-right: -1.85rem;
    overflow: hidden;
}

.trade-card-art img {
    display: block;
    width: 100%;
    height: auto;
}

.trade-variety-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.trade-variety-card {
    display: grid;
    grid-template-rows: auto 1fr;
    justify-items: center;
    min-height: 178px;
    padding: 1.35rem 1rem .7rem;
    border-radius: 16px;
    background: #fffaf5;
    text-align: center;
}

.trade-variety-card h3 {
    font-size: 1.55rem;
    font-weight: 900;
    color: #51211a;
}

.trade-variety-card img {
    width: 100%;
    max-width: 150px;
    align-self: end;
    object-fit: contain;
}

.trade-dynamic-page .platform-block {
    grid-template-columns: 1.05fr .95fr;
    padding: 2.2rem;
    border-radius: 18px;
    background: #fffaf5;
}

.trade-platform-art img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.trade-platform-feature {
    display: grid;
    grid-template-columns: 96px 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 128px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .9);
}

.trade-platform-feature img {
    width: 88px;
    height: 88px;
    object-fit: contain;
}

.trade-platform-feature p,
.trade-flow-card p {
    margin-top: .35rem;
    color: #5e4c46;
    line-height: 1.55;
}

.trade-flow-card {
    display: grid;
    grid-template-columns: 96px 1fr;
    align-items: center;
    gap: 1rem;
    min-height: 126px;
    border-radius: 18px;
    background: #fffaf5;
    position: relative;
}

.trade-flow-card:not(:last-child):after {
    content: "";
    position: absolute;
    right: -1.25rem;
    top: 50%;
    width: 32px;
    height: 32px;
    transform: translate(50%, -50%);
    background: linear-gradient(135deg, #e77824, #bd2c1d);
    clip-path: polygon(0 28%, 56% 28%, 56% 0, 100% 50%, 56% 100%, 56% 72%, 0 72%);
    z-index: 2;
}

.trade-flow-card img {
    width: 82px;
    height: 82px;
    object-fit: contain;
}

@media(max-width:1024px) {
    .trade-dynamic-page .trading-hero-img {
        min-height: 560px;
    }

    .trade-dynamic-page .trading-hero-img .mock-hero-inner,
    .trade-dynamic-page .platform-block {
        grid-template-columns: 1fr;
    }

    .trade-dynamic-page .trade-market-tabs,
    .trade-variety-grid {
        grid-template-columns: repeat(3, 1fr);
        width: min(100% - 1.25rem, 1180px);
    }

    .trade-flow-card:not(:last-child):after {
        display: none;
    }
}

@media(max-width:640px) {
    .trade-dynamic-page .trading-hero-img {
        min-height: 500px;
        background-position: 58% top;
    }

    .trade-dynamic-page .trade-market-tabs,
    .trade-variety-grid {
        grid-template-columns: 1fr 1fr;
    }

    .trade-dynamic-page .trade-market-tabs .mock-product,
    .trade-platform-feature,
    .trade-flow-card {
        grid-template-columns: 72px 1fr;
    }

    .trade-platform-feature img,
    .trade-flow-card img {
        width: 66px;
        height: 66px;
    }
}

/* Trading tabs overlap fix */
.trade-dynamic-page .trading-hero-img {
    min-height: 640px;
}

.trade-dynamic-page .mock-section[aria-label="浜ゆ槗甯傚牬鍒嗛"] {
    position: relative;
    z-index: 5;
    padding-top: 0 !important;
    margin-top: -3.2rem;
}

.trade-dynamic-page .trade-market-tabs {
    position: relative;
    z-index: 6;
    margin: 0 auto !important;
    overflow: visible;
}

.trade-dynamic-page .trade-market-tabs .mock-product {
    background: rgba(255, 255, 255, .92);
}

@media(max-width:1024px) {
    .trade-dynamic-page .mock-section[aria-label="浜ゆ槗甯傚牬鍒嗛"] {
        margin-top: 1rem;
    }
}

/* Trading tabs overlap fix - ASCII selector */
.trade-dynamic-page .trading-hero-img+.mock-section {
    position: relative;
    z-index: 5;
    padding-top: 0 !important;
    margin-top: -3.2rem;
}

@media(max-width:1024px) {
    .trade-dynamic-page .trading-hero-img+.mock-section {
        margin-top: 1rem;
    }
}

/* Asset management page image composition */
.asset-page-img .asset-hero-img {
    min-height: 720px;
    background: url('img/03/03-1-1.png') center top/cover no-repeat;
}

.asset-page-img .asset-hero-img:before,
.asset-page-img .asset-hero-img:after {
    display: none;
}

.asset-page-img .asset-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .62fr) minmax(360px, 1fr);
    padding-top: 7rem;
}

.asset-page-img .mock-section {
    position: relative;
}

.asset-page-img .mock-section[aria-labelledby="position"] {
    margin-top: -3.4rem;
    z-index: 4;
}

.asset-page-img .asset-position {
    grid-template-columns: .96fr 1.04fr;
    min-height: 390px;
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .88) 52%, rgba(255, 255, 255, .16) 100%),
        url('img/03/03-2-1.png') right center/contain no-repeat,
        rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(82, 43, 18, .11);
    overflow: hidden;
}

.asset-position-art {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 310px;
}

.asset-position-art img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.asset-page-img .feature-grid-4 .mock-card {
    min-height: 360px;
    padding: 1.5rem 1.55rem 2rem !important;
    border-radius: 18px;
    background: #fffaf5;
}

.asset-capability-art {
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -.2rem -.4rem 1rem;
}

.asset-capability-art img {
    max-width: 100%;
    max-height: 210px;
    object-fit: contain;
}

.asset-page-img .service-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.asset-page-img .service-grid .mock-card {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 270px;
    padding: 1.65rem 1.45rem 1.15rem !important;
    border-radius: 18px;
    background: #fffaf5;
}

.asset-service-art {
    align-self: end;
    display: flex;
    justify-content: center;
    min-height: 145px;
    margin-top: .8rem;
}

.asset-service-art img {
    max-width: 100%;
    max-height: 150px;
    object-fit: contain;
}

.asset-page-img .service-grid .mock-card>span {
    align-self: end;
    line-height: 1;
}

.asset-page-img .flow-grid {
    position: relative;
    align-items: start;
}

.asset-page-img .flow-grid article {
    position: relative;
    text-align: center;
    padding: 0 1rem;
}

.asset-page-img .flow-grid article:not(:last-child):after {
    content: "";
    position: absolute;
    top: 42px;
    left: calc(50% + 58px);
    width: calc(100% - 116px);
    border-top: 3px dashed rgba(221, 158, 44, .6);
}

.asset-page-img .flow-grid article:not(:last-child):before {
    content: "";
    position: absolute;
    top: 34px;
    right: -10px;
    width: 20px;
    height: 20px;
    border-top: 3px solid rgba(221, 158, 44, .8);
    border-right: 3px solid rgba(221, 158, 44, .8);
    transform: rotate(45deg);
}

.asset-flow-icon {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    margin: 0 auto 1rem;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(82, 43, 18, .08);
}

.asset-flow-icon img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.asset-cta-banner {
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(90deg, rgba(151, 22, 18, .92), rgba(225, 75, 22, .34)), url('img/03/03.png') center/cover no-repeat;
}

.asset-cta-title {
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.2;
    max-width: 560px;
    color: #fff7df;
}

@media(max-width:1024px) {
    .asset-page-img .asset-hero-img {
        min-height: 580px;
    }

    .asset-page-img .asset-hero-img .mock-hero-inner,
    .asset-page-img .asset-position {
        grid-template-columns: 1fr;
    }

    .asset-page-img .mock-section[aria-labelledby="position"] {
        margin-top: 1rem;
    }

    .asset-page-img .service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asset-page-img .flow-grid article:before,
    .asset-page-img .flow-grid article:after {
        display: none;
    }
}

@media(max-width:640px) {
    .asset-page-img .asset-hero-img {
        min-height: 500px;
        background-position: 58% top;
    }

    .asset-page-img .feature-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .asset-page-img .feature-grid-4 .mock-card {
        min-height: 0;
        padding: .9rem .75rem 1rem !important;
    }

    .asset-page-img .feature-grid-4 h3 {
        font-size: 1.05rem;
        line-height: 1.35;
    }

    .asset-page-img .feature-grid-4 p {
        font-size: .86rem;
        line-height: 1.55;
    }

    .asset-capability-art {
        height: 105px;
        margin: 0 0 .65rem;
    }

    .asset-capability-art img {
        max-height: 115px;
    }

    .asset-page-img .service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .asset-page-img .service-grid .mock-card {
        min-height: 0;
        padding: .95rem .75rem .85rem !important;
    }

    .asset-page-img .service-grid .mock-card h3 {
        font-size: 1rem;
        line-height: 1.35;
    }

    .asset-page-img .asset-service-art {
        min-height: 96px;
        margin-top: .55rem;
    }

    .asset-page-img .asset-service-art img {
        max-height: 105px;
    }

    .asset-page-img .service-grid .mock-card:last-child:nth-child(odd) {
        grid-column: 1/-1;
        grid-template-columns: 105px 1fr auto;
        grid-template-rows: auto;
        align-items: center;
        column-gap: .75rem;
    }

    .asset-page-img .service-grid .mock-card:last-child:nth-child(odd) h3 {
        grid-column: 2;
        grid-row: 1;
    }

    .asset-page-img .service-grid .mock-card:last-child:nth-child(odd) .asset-service-art {
        grid-column: 1;
        grid-row: 1;
        min-height: 88px;
        margin: 0;
    }

    .asset-page-img .service-grid .mock-card:last-child:nth-child(odd)>span {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .asset-cta-banner {
        min-height: 260px;
        background-position: 58% center;
    }
}

/* Fees page image composition */
.fees-page-img .fees-hero-img {
    min-height: 645px;
    background: url('img/04/04-1-1.png') center top/cover no-repeat;
}

.fees-page-img .fees-hero-img:before,
.fees-page-img .fees-hero-img:after {
    display: none;
}

.fees-page-img .fees-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .62fr) minmax(360px, 1fr);
    padding-top: 6.4rem;
}

.fees-top-section {
    position: relative;
    z-index: 5;
    margin-top: -3.8rem;
    padding-top: 0 !important;
}

.fees-category-tabs {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    padding: .8rem;
    border-radius: 18px;
    border: 1px solid #eadfd5;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(82, 43, 18, .12);
}

.fees-category-tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    border-right: 1px solid #efe3d8;
    color: #2e211d;
    font-size: 1.25rem;
    font-weight: 900;
}

.fees-category-tabs a:last-child {
    border-right: 0;
}

.fees-category-tabs a.is-active {
    border-radius: 10px;
    background: linear-gradient(135deg, #c02a1d, #e15120);
    color: #fff;
    box-shadow: 0 12px 28px rgba(190, 42, 29, .22);
}

.fees-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.7rem;
    margin-top: 2.6rem;
}

.fees-summary-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38%;
    align-items: center;
    min-height: 210px;
    padding: 1.8rem 1.5rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .93);
}

.fees-summary-card h2 {
    font-size: 1.45rem;
    font-weight: 900;
    color: #2f211d;
}

.fees-summary-card strong {
    display: block;
    margin: 1rem 0 .65rem;
    color: #a56519;
    font-size: clamp(2.8rem, 4vw, 4.4rem);
    line-height: 1;
    font-weight: 900;
}

.fees-summary-card strong span {
    font-size: 1.2rem;
}

.fees-summary-card p {
    color: #4f403a;
    line-height: 1.65;
}

.fees-summary-card img {
    width: 100%;
    max-height: 140px;
    object-fit: contain;
}

.fees-table-section {
    padding-top: 1.2rem;
}

.fees-page-img .fee-layout {
    align-items: start;
}

.fees-page-img .fee-side {
    overflow: hidden;
    border-radius: 18px;
    background: #fffaf5;
}

.fees-page-img .fee-table.mock thead {
    background: linear-gradient(135deg, #8e1616, #b3261e);
}

.fee-mobile-cards {
    display: none;
}

.fees-contact-card {
    min-height: 330px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .84) 48%, rgba(255, 255, 255, .28)), url('img/04/04-3-1.png') right bottom/contain no-repeat;
}

.fees-contact-card>div {
    max-width: 48%;
}

.fees-page-img .benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.7rem;
}

.fees-page-img .benefit-card {
    display: grid;
    align-content: start;
    min-height: 305px;
    padding: 1.55rem 1.5rem !important;
    border-radius: 18px;
    background-color: #fffaf5;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
    text-align: center;
}

.fees-page-img .benefit-card:nth-child(1) {
    background-image: url('img/04/04-4-1.png');
}

.fees-page-img .benefit-card:nth-child(2) {
    background-image: url('img/04/04-4-2.png');
}

.fees-page-img .benefit-card:nth-child(3) {
    background-image: url('img/04/04-4-3.png');
}

.fees-page-img .benefit-card:nth-child(4) {
    background-image: url('img/04/04-4-4.png');
}

.fees-benefit-art {
    display: none;
}

@media(max-width:1024px) {
    .fees-page-img .fees-hero-img {
        min-height: 560px;
    }

    .fees-page-img .fees-hero-img .mock-hero-inner {
        grid-template-columns: 1fr;
    }

    .fees-top-section {
        margin-top: 1rem;
    }

    .fees-category-tabs,
    .fees-summary-grid,
    .fees-page-img .benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fees-contact-card>div {
        max-width: 60%;
    }
}

@media(max-width:640px) {
    .fees-page-img .fees-hero-img {
        min-height: 500px;
        background-position: 58% top;
    }

    .fees-category-tabs,
    .fees-summary-grid,
    .fees-page-img .benefit-grid {
        grid-template-columns: 1fr;
    }

    .fees-page-img .benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .85rem;
    }

    .fees-page-img .benefit-card {
        min-height: 215px;
        padding: 1rem .75rem !important;
        border-radius: 16px;
        background-size: 118% auto;
    }

    .fees-page-img .benefit-card h3 {
        font-size: 1.05rem !important;
        line-height: 1.25;
    }

    .fees-page-img .benefit-card p {
        font-size: .88rem !important;
        line-height: 1.45;
    }

    .fees-summary-card {
        grid-template-columns: 1fr auto;
    }

    .fees-summary-card img {
        max-width: 110px;
    }

    .fees-page-img .table-wrap {
        display: none;
    }

    .fees-page-img .fee-mobile-cards {
        display: grid;
        gap: .9rem;
    }

    .fees-page-img .fee-mobile-card,
    .fees-page-img .fee-mobile-empty {
        border: 1px solid #eadfd5;
        border-radius: 18px;
        background: linear-gradient(180deg, #fff, #fff8f0);
        box-shadow: 0 14px 34px rgba(77, 36, 18, .08);
    }

    .fees-page-img .fee-mobile-card {
        padding: 1rem;
    }

    .fees-page-img .fee-mobile-card h3 {
        margin-bottom: .85rem;
        color: #7b2419;
        font-size: 1.12rem;
        line-height: 1.35;
        font-weight: 900;
    }

    .fees-page-img .fee-mobile-card dl {
        display: grid;
        gap: .7rem;
        margin: 0;
    }

    .fees-page-img .fee-mobile-card dl>div {
        display: grid;
        gap: .25rem;
        padding-top: .7rem;
        border-top: 1px solid #f0e1d5;
    }

    .fees-page-img .fee-mobile-card dt {
        color: #b45a2a;
        font-size: .78rem;
        font-weight: 900;
        letter-spacing: .08em;
    }

    .fees-page-img .fee-mobile-card dd {
        margin: 0;
        color: #3d302b;
        font-size: .95rem;
        line-height: 1.65;
    }

    .fees-page-img .fee-mobile-card dl>div:nth-child(2) dd {
        color: #9f2c21;
        font-weight: 900;
    }

    .fees-page-img .fee-mobile-empty {
        padding: 1.2rem;
        color: #7a6258;
        text-align: center;
        font-weight: 900;
    }

    .fees-contact-card {
        padding-bottom: 13rem !important;
        background-size: auto 58%;
    }

    .fees-contact-card>div {
        max-width: none;
    }
}

/* Promotions page image composition */
.promo-page-img .promo-hero-img {
    min-height: 600px;
    background: url('img/05/05-1-1.png') center top/cover no-repeat;
}

.promo-page-img .promo-hero-img:before,
.promo-page-img .promo-hero-img:after {
    display: none;
}

.promo-page-img .promo-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .64fr) minmax(360px, 1fr);
    padding-top: 5.9rem;
}

/* Keep the promo subtitle on a single line at any width */
.promo-page-img .promo-hero-img .mock-subtitle {
    white-space: nowrap;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    text-overflow: clip;
    font-size: clamp(.82rem, 3.6vw, 1.55rem);
    letter-spacing: .06em;
    text-align: left;
}

@media(max-width:1024px) {
    .promo-page-img .promo-hero-img .mock-subtitle {
        font-size: clamp(.86rem, 3.4vw, 1.3rem);
    }
}

@media(max-width:640px) {
    .promo-page-img .promo-hero-img .mock-subtitle {
        font-size: clamp(.7rem, 3.1vw, 1rem);
        letter-spacing: .02em;
    }
}

.promo-page-img .promo-tabs {
    position: relative;
    z-index: 5;
    width: min(1380px, calc(100% - 96px));
    margin: -3.1rem auto 0;
    padding: .9rem 1.1rem;
    border-radius: 999px;
    border: 1px solid #eadfd5;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 42px rgba(82, 43, 18, .12);
}

.promo-page-img .promo-tab {
    min-height: 58px;
    border-radius: 999px;
    font-size: 1.3rem;
    font-weight: 900;
}

.promo-page-img .promo-tab.active {
    background: linear-gradient(135deg, #c02a1d, #e15120);
    color: #fff;
    box-shadow: 0 12px 26px rgba(190, 42, 29, .22);
}

.promo-page-img .promo-list {
    display: grid;
    gap: 2.2rem;
    padding-top: 2.2rem;
}

.promo-page-img .promo-item {
    display: grid;
    grid-template-columns: minmax(380px, .96fr) minmax(420px, 1fr);
    gap: 2.2rem;
    align-items: center;
    padding: 1.35rem 2.2rem 1.35rem 1.35rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 38px rgba(82, 43, 18, .08);
}

.promo-item-art {
    overflow: hidden;
    border-radius: 16px;
}

.promo-item-art img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.promo-page-img .promo-item h2 {
    color: #301d18;
    font-size: clamp(1.8rem, 2.4vw, 2.55rem);
    line-height: 1.25;
    font-weight: 900;
}

.promo-item .promo-subtitle {
    margin-top: .55rem;
    color: var(--red2, #d63b16);
    font-size: clamp(1.05rem, 1.3vw, 1.35rem);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em
}

.promo-page-img .promo-item p {
    color: #4e403a;
    font-size: 1.16rem;
    line-height: 1.8;
}

.promo-page-img .promo-item .btn-primary,
.promo-page-img .promo-item .btn-outline {
    min-width: 155px;
    justify-content: center;
    border-radius: 9px;
}

.promo-page-img .pager {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.35rem;
    padding-top: 1.6rem !important;
}

.promo-page-img .pager a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: #241714;
    font-size: 1.2rem;
    font-weight: 900;
}

.promo-page-img .pager a.active {
    background: linear-gradient(135deg, #c02a1d, #e15120);
    color: #fff;
}

@media(max-width:1024px) {
    .promo-page-img .promo-hero-img {
        min-height: 540px;
    }

    .promo-page-img .promo-hero-img .mock-hero-inner,
    .promo-page-img .promo-item {
        grid-template-columns: 1fr;
    }

    .promo-page-img .promo-tabs {
        width: min(100% - 1.25rem, 1180px);
        margin-top: 1rem;
        border-radius: 24px;
    }
}

@media(max-width:640px) {
    .promo-page-img .promo-hero-img {
        min-height: 500px;
        background-position: 58% top;
    }

    .promo-page-img .promo-tabs {
        grid-template-columns: 1fr 1fr;
    }

    .promo-page-img .promo-item {
        padding: 1rem;
        gap: 1.1rem;
    }

    .promo-page-img .promo-item .mt-8.flex {
        flex-direction: column;
    }
}

/* Help page image composition */
.help-page-img .help-hero-img {
    min-height: 755px;
    background: url('img/06/06-1-1.png') center top/cover no-repeat;
}

.help-page-img .help-hero-img:before,
.help-page-img .help-hero-img:after {
    display: none;
}

.help-page-img .help-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .64fr) minmax(360px, 1fr);
    padding-top: 5.8rem;
}

.help-page-img .help-search {
    display: grid;
    grid-template-columns: 1fr auto;
    max-width: 820px;
    margin-top: 2rem;
    overflow: hidden;
    border: 1px solid #dcc8b8;
    border-radius: 12px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 32px rgba(82, 43, 18, .08);
}

.help-page-img .help-search input {
    min-height: 66px;
    padding: 0 1.4rem;
    background: transparent;
    outline: none;
    font-size: 1.08rem;
}

.help-page-img .help-search button {
    padding: 0 2rem;
    background: linear-gradient(135deg, #9d1716, #d33b1f);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
}

.help-page-img .quick-help {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.6rem;
    max-width: 900px;
}

.help-page-img .quick-help .mock-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 148px;
    padding: 1.25rem 1.2rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .9);
}

.help-page-img .quick-help .mock-card h2,
.help-page-img .quick-help .mock-card p {
    text-align: left;
}

.help-page-img .quick-help .mock-card p {
    min-height: 3.25em;
    margin-top: .35rem;
    line-height: 1.6;
}

.help-page-img .quick-help .mock-card span {
    display: inline-grid;
    place-items: center;
    align-self: flex-start;
    width: 42px;
    height: 42px;
    margin-top: .85rem;
    border-radius: 999px;
    background: #fff2e9;
}

.help-page-img .help-cat-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.help-page-img .help-cat {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 278px;
    padding: 1.5rem 1.35rem 1.15rem;
    border-radius: 18px;
    background: #fffaf5;
    text-align: center;
}

.help-cat-art {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 155px;
}

.help-cat-art img {
    width: 100%;
    max-width: 160px;
    max-height: 160px;
    object-fit: contain;
}

.help-page-img .help-cat .pill-btn {
    justify-self: center;
    background: transparent;
    color: #a22a1d;
    padding: 0;
}

.help-page-img .faq-panel {
    padding: 3rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
}

.help-page-img .faq-panel details {
    border: 1px solid #eadfd5;
    border-radius: 12px;
    padding: 1.3rem 1.5rem;
    margin-top: 1.25rem;
    background: #fff;
}

.help-page-img .faq-panel summary {
    display: flex;
    justify-content: space-between;
    list-style: none;
    cursor: pointer;
}

.help-page-img .faq-panel summary:after {
    content: "+";
    color: #b3261e;
    font-size: 1.6rem;
    line-height: 1;
}

.help-page-img .faq-panel details[open] summary:after {
    content: "-";
}

.help-page-img .faq-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .85rem;
    margin-top: 2.5rem;
}

.help-page-img .faq-pagination a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #eadfd5;
    border-radius: 10px;
    color: #8b2a21;
    font-weight: 900;
    background: #fff;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.help-page-img .faq-pagination a:hover,
.help-page-img .faq-pagination a.active {
    border-color: #c02a1d;
    background: linear-gradient(135deg, #c02a1d, #e15120);
    color: #fff;
    text-decoration: none;
}

.help-contact-panel {
    position: relative;
    overflow: visible;
    border-radius: 20px;
    background: rgba(255, 255, 255, .94);
}

.help-page-img .contact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.help-page-img .contact-grid .mock-card {
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    min-height: 230px;
    padding: 1.35rem 1.25rem !important;
    border-radius: 14px;
    background: #fffaf5;
}

.help-contact-art {
    align-self: end;
    margin: .8rem -1rem -1rem;
    overflow: hidden;
}

.help-contact-art img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.help-page-img .service-bar {
    position: relative;
    overflow: hidden;
    margin-top: 1.5rem;
    padding: 1.3rem 2rem;
    border-radius: 14px;
    background: linear-gradient(90deg, #fff5e8, #fffdf8);
}

.help-page-img .service-bar:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -6px;
    width: 260px;
    height: 190px;
    background: url('img/06/06-4-1.png') right bottom/contain no-repeat;
    pointer-events: none;
}

@media(max-width:1024px) {
    .help-page-img .help-hero-img {
        min-height: 650px;
    }

    .help-page-img .help-hero-img .mock-hero-inner {
        grid-template-columns: 1fr;
    }

    .help-page-img .quick-help,
    .help-page-img .help-cat-grid,
    .help-page-img .contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:640px) {
    .help-page-img .help-hero-img {
        min-height: 560px;
        background-position: 58% top;
    }

    .help-page-img .help-search {
        grid-template-columns: 1fr;
    }

    .help-page-img .quick-help,
    .help-page-img .contact-grid {
        grid-template-columns: 1fr;
    }

    .help-page-img .help-cat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .help-page-img .help-cat {
        min-height: 0;
        padding: .95rem .75rem .85rem;
    }

    .help-page-img .help-cat h3 {
        font-size: 1rem;
        line-height: 1.35;
    }

    .help-page-img .help-cat-art {
        min-height: 96px;
    }

    .help-page-img .help-cat-art img {
        max-width: 105px;
        max-height: 105px;
    }

    .help-page-img .help-cat .pill-btn {
        font-size: .86rem;
    }

    .help-page-img .help-cat:last-child:nth-child(odd) {
        grid-column: 1/-1;
        grid-template-columns: 105px 1fr;
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: .75rem;
        text-align: left;
    }

    .help-page-img .help-cat:last-child:nth-child(odd) h3 {
        grid-column: 2;
        grid-row: 1;
    }

    .help-page-img .help-cat:last-child:nth-child(odd) .help-cat-art {
        grid-column: 1;
        grid-row: 1/3;
        min-height: 88px;
    }

    .help-page-img .help-cat:last-child:nth-child(odd) .pill-btn {
        grid-column: 2;
        grid-row: 2;
        justify-self: start;
    }

    .help-page-img .faq-panel {
        padding: 1.25rem;
    }

    .help-page-img .service-bar:after {
        opacity: .28;
    }
}

/* Guoxin LPF page image composition */
.guoxin-img-page .guoxin-hero-img {
    min-height: 570px;
    background: url('img/07/08-1-1.png') center top/cover no-repeat;
}

.guoxin-img-page .guoxin-hero-img:before,
.guoxin-img-page .guoxin-hero-img:after {
    display: none;
}

.guoxin-img-page .guoxin-hero-img .mock-hero-inner {
    grid-template-columns: minmax(0, .62fr) minmax(360px, 1fr);
    padding-top: 5.5rem;
}

.guoxin-img-page .gx-summary {
    margin-top: -1.8rem;
    position: relative;
    z-index: 4;
}

.guoxin-img-page .gx-summary-card {
    min-height: 240px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .94);
}

.guoxin-img-page .gx-line-icon {
    color: #c89132;
    font-size: 4.2rem;
    line-height: 1;
}

.guoxin-img-page .gx-performance {
    grid-template-columns: 1.05fr .95fr;
    border-radius: 20px;
    background: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 250, 244, .84));
    overflow: hidden;
}

.guoxin-performance-art {
    border-radius: 16px;
    overflow: hidden;
    background: transparent;
}

.guoxin-performance-art img {
    display: block;
    width: 100%;
    height: auto;
}

.guoxin-img-page .gx-performance-side {
    background: url('img/07/08-2-1.png') right bottom/cover no-repeat;
    min-height: 430px;
    justify-content: center;
}

.guoxin-card-art {
    align-self: end;
    margin: .8rem -1.3rem -1.3rem;
    overflow: hidden;
}

.guoxin-card-art img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.guoxin-img-page .gx-info-card {
    /* display: grid;
    grid-template-rows: auto auto; */
    min-height: 355px;
    padding: 1.6rem 1.45rem 0 !important;
    border-radius: 18px;
    background: #fffaf5;
}

.guoxin-img-page .guoxin-strategy-card,
.guoxin-img-page .guoxin-advantage-card {
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.guoxin-img-page .guoxin-strategy-card-1 {
    background-image: url('img/07/08-3-1.png');
}

.guoxin-img-page .guoxin-strategy-card-2 {
    background-image: url('img/07/08-3-2.png');
}

.guoxin-img-page .guoxin-strategy-card-3 {
    background-image: url('img/07/08-3-3.png');
}

.guoxin-img-page .guoxin-strategy-card-4 {
    background-image: url('img/07/08-3-4.png');
}

.guoxin-img-page .guoxin-advantage-card-1 {
    background-image: url('img/07/08-4-1.png');
}

.guoxin-img-page .guoxin-advantage-card-2 {
    background-image: url('img/07/08-4-2.png');
}

.guoxin-img-page .guoxin-advantage-card-3 {
    background-image: url('img/07/08-4-3.png');
}

.guoxin-img-page .guoxin-advantage-card-4 {
    background-image: url('img/07/08-4-4.png');
}

/* OFC / funds page image composition */
.funds-img-page .funds-hero-img {
    min-height: 585px;
    background: url('img/08/08-1-1.png') center top/cover no-repeat;
}

.funds-img-page .funds-hero-img .dv-hero-art {
    display: none;
}

.funds-img-page .fund-overview-grid article {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: center;
    gap: 1.2rem;
    min-height: 150px;
}

.fund-overview-art {
    width: 120px;
    height: 90px;
    object-fit: contain;
}

.funds-img-page .funds-dashboard-art {
    background: url('img/08/08-4-1.png') center/cover no-repeat;
    min-height: 520px;
}

.funds-img-page .funds-dashboard-art .chart-card {
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(2px);
}

.funds-img-page .risk-grid article {
    min-height: 270px;
    overflow: hidden;
}

.fund-risk-art {
    display: block;
    width: calc(100% + 2rem);
    max-width: none;
    margin: .7rem -1rem -1.2rem;
    object-fit: cover;
}

.fund-performance-art {
    position: relative;
    overflow: hidden;
    min-height: 360px;
}

.fund-performance-art img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.fund-performance-art b {
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: 2;
}

@media(max-width:1024px) {

    .guoxin-img-page .guoxin-hero-img .mock-hero-inner,
    .guoxin-img-page .gx-performance {
        grid-template-columns: 1fr;
    }

    .guoxin-img-page .gx-summary {
        margin-top: 1rem;
    }

    .funds-img-page .funds-hero-img {
        min-height: 520px;
    }
}

@media(max-width:640px) {

    .guoxin-img-page .guoxin-hero-img,
    .funds-img-page .funds-hero-img {
        min-height: 500px;
        background-position: 58% top;
    }

    .funds-img-page .fund-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .75rem;
    }

    .funds-img-page .fund-overview-grid article {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 1rem .75rem;
        gap: .45rem;
        text-align: center;
    }

    .funds-img-page .fund-overview-grid article:last-child:nth-child(odd) {
        grid-column: 1/-1;
    }

    .funds-img-page .fund-overview-grid h3 {
        font-size: 1rem;
        line-height: 1.35;
    }

    .funds-img-page .fund-overview-grid strong,
    .funds-img-page .fund-overview-grid p {
        font-size: .9rem;
        line-height: 1.55;
    }

    .fund-overview-art {
        justify-self: center;
    }
}

/* About page image composition */
.about-img-page .about-hero-img {
    min-height: 640px;
    background: url('img/09/09-1-1.png') center top/cover no-repeat;
}

.about-img-page .about-hero-img .dv-hero-grid {
    min-height: 640px;
}

.about-img-page .about-overview-grid {
    grid-template-columns: .9fr 1.1fr;
}

.about-intro-art {
    margin: 2rem -1.4rem -1.4rem;
    overflow: hidden;
}

.about-intro-art img,
.about-timeline-art,
.about-license-art img,
.about-scale-art {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.about-img-page .timeline-item {
    grid-template-columns: 120px 1fr 220px;
    align-items: center;
}

.about-timeline-art {
    max-height: 98px;
}

.about-license-art {
    height: 235px;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #fff;
}

.about-license-art img {
    width: 100%;
    max-width: none;
}

.about-img-page .scale-grid article {
    display: grid;
    grid-template-rows: auto auto auto 1fr;
    min-height: 245px;
    overflow: hidden;
}

.about-scale-art {
    align-self: end;
    margin-top: .8rem;
    max-height: 145px;
}

/* Download page image composition */
.download-img-page .download-hero-img {
    min-height: 770px;
    background: url('img/10/10-1-1.png') center top/cover no-repeat;
}

.download-img-page .download-hero-img .dv-hero-grid {
    min-height: 770px;
}

.platform-icon-img {
    width: 110px;
    height: 110px;
    object-fit: contain;
    margin-bottom: 1rem;
}

.download-img-page .download-cards article {
    display: grid;
    justify-items: start;
    min-height: 540px;
    border-radius: 18px;
}

.download-img-page .qr-art {
    width: 190px;
    height: 190px;
    justify-self: center;
}

.download-img-page .why-grid article {
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 390px;
    overflow: hidden;
}

.download-why-art {
    align-self: end;
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.download-img-page .app-promo {
    min-height: 264px;
    background: linear-gradient(90deg, rgba(178, 31, 19, .92), rgba(231, 86, 22, .32)), url('img/10/10-4-1.png') center/cover no-repeat;
}

.download-promo-art {
    display: none;
}

@media(max-width:1024px) {

    .about-img-page .about-overview-grid,
    .about-img-page .timeline-item {
        grid-template-columns: 1fr;
    }

    .about-timeline-art {
        max-height: none;
    }

    .download-img-page .download-hero-img,
    .download-img-page .download-hero-img .dv-hero-grid {
        min-height: 620px;
    }
}

@media(max-width:640px) {

    .about-img-page .about-hero-img,
    .about-img-page .about-hero-img .dv-hero-grid,
    .download-img-page .download-hero-img,
    .download-img-page .download-hero-img .dv-hero-grid {
        min-height: 520px;
        background-position: 58% top;
    }
}

/* Trading page content completion */
.trade-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.trade-product-card {
    min-height: 240px;
    padding: 2.2rem 1.5rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, .9);
    text-align: center;
    box-shadow: 0 14px 36px rgba(77, 36, 18, .06);
}



.trade-line-icon {
    display: inline-grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: 1.1rem;
    color: #191311;
    font-size: 2.3rem;
    line-height: 1;
}

.trade-line-icon small {
    display: block;
    margin-top: .2rem;
    font-size: .75rem;
    font-weight: 900;
}

.trade-line-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.trade-product-card h3 {
    font-size: clamp(1.35rem, 1.7vw, 2rem);
    font-weight: 900;
    color: #1f1714;
}

.trade-product-card p {
    max-width: 310px;
    margin: .6rem auto 0;
    color: #3f322e;
    font-size: 1.05rem;
    line-height: 1.55;
}

.us-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trade-benefit-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.4rem;
    align-items: stretch;
}

.trade-benefit-strip article,
.trade-feature-grid article,
.ipo-benefits article {
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 30px rgba(77, 36, 18, .055);
}

.trade-benefit-strip article {
    display: grid;
    justify-items: center;
    align-content: center;
    min-height: 170px;
    padding: 1.4rem .9rem;
    text-align: center;
}

.trade-benefit-strip img {
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.trade-benefit-strip h3 {
    max-width: 160px;
    margin-top: .75rem;
    color: #2d211d;
    font-size: .95rem;
    line-height: 1.35;
    font-weight: 900;
}

.trade-detail-section {
    scroll-margin-top: 120px;
}

.trade-detail-hero {
    max-width: 620px;
    margin-bottom: 2rem;
}

.trade-detail-hero h2,
.trade-copy-card h2 {
    color: #191311;
    font-size: clamp(2.35rem, 4vw, 4.6rem);
    line-height: 1.05;
    font-weight: 900;
}

.trade-detail-hero p:not(.kicker),
.trade-copy-card p {
    margin-top: .9rem;
    color: #342723;
    font-size: 1.12rem;
    line-height: 1.75;
}

.trade-copy-card {
    padding: 2rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 14px 34px rgba(77, 36, 18, .055);
}

.trade-copy-card h3 {
    color: #191311;
    font-size: clamp(1.6rem, 2.2vw, 2.5rem);
    font-weight: 900;
}

.trade-subheading {
    margin: 3rem 0 1.4rem;
    color: #191311;
    font-size: clamp(1.8rem, 2.8vw, 3.2rem);
    line-height: 1.15;
    font-weight: 900;
    text-align: center;
}

.trade-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.4rem;
}

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

.trade-feature-grid article {
    display: grid;
    grid-template-columns: 118px 1fr;
    align-items: center;
    gap: 1.2rem;
    min-height: 150px;
    padding: 1.35rem;
}

.trade-feature-grid.compact article {
    grid-template-columns: 110px 1fr;
}

.trade-feature-grid img {
    width: 105px;
    height: 105px;
    object-fit: contain;
}

.trade-feature-grid h4,
.ipo-benefits h4 {
    color: #1f1714;
    font-size: 1.35rem;
    font-weight: 900;
}

.trade-feature-grid p,
.ipo-benefits p {
    margin-top: .45rem;
    color: #5c4b45;
    line-height: 1.55;
}

.futures-copy {
    max-width: 1080px;
}

.trade-bullet-list {
    display: grid;
    gap: 1.2rem;
    margin-top: 2rem;
}

.trade-bullet-list li {
    display: grid;
    grid-template-columns: 1.2rem 210px 1fr;
    gap: .6rem 1rem;
    color: #2e211d;
    font-size: 1.08rem;
    line-height: 1.55;
}

.trade-bullet-list li:before {
    content: "鈥?;
 color: #b3261e;
    font-weight: 900;
}

.trade-bullet-list strong {
    font-size: 1.22rem;
    font-weight: 900;
}

.margin-banner {
    position: relative;
    min-height: 260px;
    margin-bottom: 1.6rem;
    overflow: hidden;
    border-radius: 20px;
    background: #0d1c2a;
}

.margin-banner img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    opacity: .72;
}

.margin-banner div {
    position: absolute;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    gap: .7rem;
    color: #fff;
}

.margin-banner strong {
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: 1;
    font-weight: 900;
}

.margin-banner span {
    font-size: 1.35rem;
    font-weight: 800;
}

.margin-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
    margin-bottom: 1.6rem;
}

.margin-info-grid article {
    overflow: hidden;
}

.margin-info-grid img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.margin-info-grid div {
    padding: 1.7rem;
}

.margin-info-grid h3 {
    color: #191311;
    font-size: 1.9rem;
    font-weight: 900;
}

.margin-info-grid p {
    margin-top: .8rem;
    color: #53443f;
    line-height: 1.7;
}

.ipo-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 2rem;
    align-items: center;
}

.ipo-hero-card {
    position: relative;
    min-height: 310px;
    overflow: hidden;
    border-radius: 20px;
    background: #0b91f4;
}

.ipo-hero-card img {
    width: 100%;
    height: 100%;
    min-height: 310px;
    object-fit: cover;
    opacity: .7;
}

.ipo-hero-card div {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: center;
    max-width: 420px;
    padding: 2rem;
    color: #fff;
    background: linear-gradient(90deg, rgba(0, 141, 244, .95), rgba(0, 141, 244, .34), transparent);
}

.ipo-hero-card h3 {
    font-size: clamp(1.8rem, 2.7vw, 3.2rem);
    line-height: 1.08;
    font-weight: 900;
}

.ipo-hero-card p {
    margin: .7rem 0 1.3rem;
    font-size: 1.2rem;
    font-weight: 800;
}

.ipo-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
}

.ipo-benefits article {
    display: grid;
    justify-items: center;
    align-content: center;
    min-height: 210px;
    padding: 1.4rem 1rem;
    text-align: center;
}

.ipo-benefits img {
    width: 82px;
    height: 82px;
    object-fit: contain;
}

.ipo-copy-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 2rem;
    align-items: center;
    margin-top: 2rem;
}

.ipo-copy-row>img {
    width: 100%;
    border-radius: 20px;
    background: #fffaf5;
}

.note {
    color: #b3261e !important;
    font-weight: 800;
}

@media(max-width:1024px) {

    .trade-product-grid,
    .trade-benefit-strip,
    .trade-feature-grid,
    .trade-feature-grid.two-col,
    .ipo-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ipo-layout,
    .margin-info-grid,
    .ipo-copy-row {
        grid-template-columns: 1fr;
    }
}

@media(max-width:640px) {

    .trade-product-grid,
    .trade-benefit-strip,
    .trade-feature-grid,
    .trade-feature-grid.two-col,
    .ipo-benefits {
        grid-template-columns: 1fr;
    }

    .trade-product-card {
        min-height: 0;
    }

    .trade-feature-grid article,
    .trade-feature-grid.compact article {
        grid-template-columns: 86px 1fr;
    }

    .trade-feature-grid img {
        width: 78px;
        height: 78px;
    }

    .trade-bullet-list li {
        grid-template-columns: 1rem 1fr;
    }

    .trade-bullet-list span {
        grid-column: 2;
    }

    .margin-banner div,
    .ipo-hero-card div {
        padding: 1.4rem;
    }
}

.trade-dynamic-page section[id] {
    scroll-margin-top: 150px;
}

@media(max-width:640px) {
    .trade-dynamic-page section[id] {
        scroll-margin-top: 120px;
    }
}

/* Trading page layout refinement */
.trade-dynamic-page {
    background:
        radial-gradient(circle at 8% 18%, rgba(209, 83, 28, .08), transparent 30rem),
        radial-gradient(circle at 92% 42%, rgba(198, 141, 71, .11), transparent 32rem),
        linear-gradient(180deg, #fffaf5 0%, #fff 22%, #fffaf5 100%);
}

.trade-dynamic-page .mock-section {
    position: relative;
}

.trade-dynamic-page .mock-heading {
    position: relative;
    margin-bottom: 2.6rem;
    color: #241714;
    letter-spacing: .02em;
}

.trade-dynamic-page .mock-heading:after,
.trade-subheading:after {
    content: "";
    display: block;
    width: 72px;
    height: 4px;
    margin: .8rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #b3261e, #e7a447);
}

.trade-dynamic-page .mock-heading.\!text-left:after,
.trade-subheading.\!mt-0:after {
    margin-left: 0;
}

.trade-product-grid,
.trade-benefit-strip,
.trade-feature-grid,
.margin-info-grid,
.ipo-benefits {
    isolation: isolate;
}

.trade-product-card,
.trade-benefit-strip article,
.trade-feature-grid article,
.margin-info-grid article,
.ipo-benefits article,
.trade-copy-card {
    position: relative;
    border: 1px solid rgba(231, 213, 196, .92);
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 245, .88));
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.trade-product-card:hover,
.trade-benefit-strip article:hover,
.trade-feature-grid article:hover,
.margin-info-grid article:hover,
.ipo-benefits article:hover,
.trade-copy-card:hover {
    transform: translateY(-4px);
    border-color: rgba(214, 116, 54, .38);
    box-shadow: 0 22px 48px rgba(94, 43, 20, .11);
}

.trade-product-card {
    display: grid;
    align-content: center;
    min-height: 260px;
    padding: 2.4rem 1.8rem;
    overflow: hidden;
}

.trade-product-card:before {
    content: "";
    position: absolute;
    inset: auto -26px -34px auto;
    width: 108px;
    height: 108px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(220, 92, 38, .14), transparent 68%);
    pointer-events: none;
}

.trade-line-icon {
    position: relative;
    margin-inline: auto;
    border: 1px solid rgba(179, 38, 30, .16);
    border-radius: 22px;
    background: linear-gradient(145deg, #fff, #fff1e5);
    color: #9d2d20;
    box-shadow: inset 0 0 0 8px rgba(255, 246, 238, .9), 0 12px 26px rgba(145, 73, 30, .08);
}

.trade-product-card h3 {
    margin-top: .2rem;
}

.trade-product-card p {
    min-height: 3.1em;
}

.trade-benefit-strip {
    /* padding: 1rem; */
    /* border: 1px solid rgba(234, 223, 213, .9); */
    /* border-radius: 26px; */
    /* background: rgba(255, 255, 255, .52); */
    /* box-shadow: 0 18px 46px rgba(77, 36, 18, .055); */
}

.trade-benefit-strip article {
    min-height: 190px;
    box-shadow: none;
}

.trade-benefit-strip img,
.trade-feature-grid img,
.ipo-benefits img {
    filter: drop-shadow(0 14px 18px rgba(111, 60, 23, .12));
}

.trade-detail-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.trade-detail-section:nth-of-type(odd) {
    border-radius: 32px;
    background: linear-gradient(135deg, rgba(255, 246, 235, .76), rgba(255, 255, 255, .52));
}

.trade-detail-hero {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}

.trade-detail-hero .kicker {
    justify-content: center;
}

.trade-copy-card {
    max-width: 1120px;
    margin-inline: auto;
    padding: clamp(1.6rem, 2.5vw, 2.6rem);
}

.trade-copy-card h2,
.trade-copy-card h3,
.trade-detail-hero h2 {
    letter-spacing: .01em;
}

.trade-feature-grid.two-col {
    max-width: 1080px;
    margin-inline: auto;
}

.trade-feature-grid article {
    min-height: 172px;
    border-radius: 22px;
}

.trade-feature-grid h4,
.ipo-benefits h4 {
    line-height: 1.2;
}

.futures-copy {
    overflow: hidden;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, .96), rgba(255, 249, 242, .9)),
        radial-gradient(circle at 100% 0%, rgba(179, 38, 30, .12), transparent 22rem);
}

.trade-bullet-list {
    gap: .95rem;
}

.trade-bullet-list li {
    align-items: start;
    padding: 1rem 1.1rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
}

.trade-bullet-list li:before {
    display: grid;
    place-items: center;
    width: 1.1rem;
    height: 1.1rem;
    margin-top: .2rem;
    border-radius: 999px;
    background: #fff0e8;
    color: #b3261e;
    font-size: 1rem;
    line-height: 1;
}

.margin-banner,
.ipo-hero-card {
    box-shadow: 0 24px 54px rgba(58, 38, 26, .13);
}

.margin-banner:after,
.ipo-hero-card:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 45%);
    pointer-events: none;
}

.margin-banner div,
.ipo-hero-card div {
    z-index: 1;
}

.margin-info-grid article {
    border-radius: 22px;
}

.margin-info-grid img {
    height: 260px;
    background: #fff4ea;
}

.trade-feature-grid.compact {
    max-width: 760px;
    margin-inline: auto;
}

.ipo-layout {
    align-items: stretch;
}

.ipo-layout>div:last-child {
    display: grid;
    align-content: center;
}

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

.ipo-benefits article {
    min-height: 190px;
    border-radius: 22px;
}

.ipo-copy-row {
    max-width: 1120px;
    margin-inline: auto;
}

.ipo-copy-row>img {
    padding: 1rem;
    object-fit: contain;
    box-shadow: 0 18px 42px rgba(77, 36, 18, .06);
}

@media(max-width:1024px) {
    .trade-dynamic-page .mock-heading {
        margin-bottom: 2rem;
    }

    .trade-product-grid {
        gap: 1.4rem;
    }

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

    .trade-benefit-strip article:last-child {
        grid-column: 1 / -1;
    }

    .trade-detail-section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .ipo-layout {
        gap: 1.5rem;
    }
}

@media(max-width:640px) {
    .trade-dynamic-page .mock-section {
        padding-block: 3rem;
    }

    .trade-product-card {
        min-height: 220px;
        padding: 2rem 1.25rem;
    }

    .trade-product-card p {
        min-height: 0;
    }

    .trade-benefit-strip {
        grid-template-columns: 1fr;
        padding: .75rem;
        border-radius: 22px;
    }

    .trade-benefit-strip article:last-child {
        grid-column: auto;
    }

    .trade-detail-hero {
        text-align: left;
    }

    .trade-detail-hero .kicker {
        justify-content: flex-start;
    }

    .trade-dynamic-page .mock-heading:after,
    .trade-subheading:after {
        margin-left: auto;
        margin-right: auto;
    }

    .trade-copy-card {
        padding: 1.35rem;
    }

    .trade-bullet-list li {
        padding: .95rem;
    }

    .margin-info-grid img {
        height: 190px;
    }

    .ipo-benefits {
        grid-template-columns: 1fr;
    }

    .ipo-copy-row>img {
        max-width: 260px;
        margin-inline: auto;
    }
}

/* Trading page compact fixes */
.trade-dynamic-page #a-shares,
.trade-dynamic-page #futures,
.trade-dynamic-page #margin,
.trade-dynamic-page #ipo {
    /* width: min(1280px, calc(100% - 96px)); */
    margin-inline: auto;
    padding: 3rem clamp(1.4rem, 3vw, 3rem);
    border-radius: 28px;
}

.trade-dynamic-page #a-shares,
.trade-dynamic-page #futures {
    display: grid;
    gap: 1.4rem;
}

.trade-dynamic-page #a-shares .trade-detail-hero {
    display: grid;
    grid-template-columns: minmax(250px, .75fr) minmax(420px, 1.25fr);
    gap: 2rem;
    align-items: center;
    max-width: none;
    margin: 0;
    text-align: left;
}

.trade-dynamic-page #a-shares .trade-detail-hero .kicker {
    justify-content: flex-start;
}

.trade-dynamic-page #a-shares .trade-detail-hero h2 {
    font-size: clamp(3rem, 4vw, 4.9rem);
}

.trade-dynamic-page #a-shares .trade-detail-hero>p {
    /* margin: 0; */
    /* padding: 1.25rem 1.5rem; */
    /* border-left: 4px solid #d95728; */
    /* border-radius: 0 18px 18px 0; */
    /* background: rgba(255, 255, 255, .72); */
}

.trade-dynamic-page #a-shares .trade-copy-card {
    max-width: none;
    margin: 0;
    padding: 1.6rem 1.8rem;
}

.trade-dynamic-page #a-shares .trade-subheading {
    margin: 1.5rem 0 .5rem;
}

.trade-dynamic-page #a-shares .trade-feature-grid.two-col {
    max-width: none;
    width: 100%;
}

.trade-dynamic-page #futures .futures-copy {
    max-width: none;
    margin: 0;
    padding: 2.2rem;
}

.trade-dynamic-page #futures .futures-copy h2 {
    font-size: clamp(3rem, 4.8vw, 5.5rem);
}

.trade-dynamic-page #futures .futures-copy>p {
    max-width: 920px;
}

.trade-dynamic-page #futures .trade-bullet-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.trade-dynamic-page #futures .trade-bullet-list li {
    grid-template-columns: 1.2rem 1fr;
    min-height: 118px;
}

.trade-dynamic-page #futures .trade-bullet-list strong,
.trade-dynamic-page #futures .trade-bullet-list span {
    grid-column: 2;
}

.trade-dynamic-page #futures .trade-bullet-list strong {
    font-size: 1.2rem;
    line-height: 1.2;
}

.trade-dynamic-page #margin {
    background: linear-gradient(135deg, rgba(255, 248, 241, .9), rgba(255, 255, 255, .82));
}

.trade-dynamic-page #margin .mock-heading {
    margin-bottom: 1.4rem;
}

.trade-dynamic-page #margin .margin-banner {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(360px, .62fr);
    min-height: 320px;
    margin-bottom: 1.2rem;
    border: 0;
    background: linear-gradient(120deg, #7f2419, #d54820 52%, #f0a448);
}

.trade-dynamic-page #margin .margin-banner img {
    order: 2;
    min-height: 320px;
    height: 100%;
    opacity: .42;
    object-fit: cover;
    mix-blend-mode: screen;
}

.trade-dynamic-page #margin .margin-banner div {
    position: static;
    transform: none;
    align-content: center;
    padding: 2.4rem;
}

.trade-dynamic-page #margin .margin-banner strong {
    font-size: clamp(2.8rem, 4vw, 5rem);
}

.trade-dynamic-page #margin .margin-banner .btn-primary {
    width: max-content;
    margin-top: .8rem;
    background: #fff;
    color: #bd2c1d;
}

.trade-dynamic-page #margin .margin-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-bottom: 1.2rem;
}

.trade-dynamic-page #margin .margin-info-grid article {
    position: relative;
    display: grid;
    grid-template-columns: minmax(42%, 1fr) minmax(220px, 46%);
    align-items: center;
    min-height: 220px;
    overflow: hidden;
    background: var(--margin-service-bg) center/cover no-repeat;
}

.trade-dynamic-page #margin .margin-info-grid article::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .18) 44%, rgba(255, 255, 255, .9) 64%, rgba(255, 255, 255, .96) 100%);
}

.trade-dynamic-page #margin .margin-info-grid div {
    position: relative;
    z-index: 1;
    grid-column: 2;
    display: grid;
    align-content: center;
    padding: 1.5rem;
}

.trade-dynamic-page #margin .margin-info-grid h3 {
    font-size: 1.65rem;
}

.trade-dynamic-page #margin .trade-feature-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: none;
    gap: 1.2rem;
    width: 100%;
}

.trade-dynamic-page #margin .trade-feature-grid.compact article {
    /* grid-template-columns: 96px 1fr; */
    min-height: 132px;
    padding: 1.2rem 1.35rem;
}

.trade-dynamic-page #margin .trade-feature-grid.compact img {
    width: 86px;
    height: 86px;
}

.trade-dynamic-page #ipo .ipo-copy-row {
    grid-template-columns: minmax(0, 1fr) 280px;
    max-width: 980px;
    margin-top: 1.4rem;
    padding: 1.5rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, .58);
}

.trade-dynamic-page #ipo .ipo-copy-row .trade-copy-card {
    margin: 0;
    box-shadow: none;
}

.trade-dynamic-page #ipo .ipo-copy-row>img {
    align-self: center;
    max-height: 190px;
}

@media(max-width:1024px) {

    .trade-dynamic-page #a-shares,
    .trade-dynamic-page #futures,
    .trade-dynamic-page #margin,
    .trade-dynamic-page #ipo {
        width: min(100% - 32px, 1280px);
        padding: 2.4rem 1.4rem;
    }

    .trade-dynamic-page #a-shares .trade-detail-hero,
    .trade-dynamic-page #margin .margin-banner,
    .trade-dynamic-page #margin .margin-info-grid article {
        grid-template-columns: minmax(36%, 1fr) minmax(190px, 50%);
    }

    .trade-dynamic-page #futures .trade-bullet-list,
    .trade-dynamic-page #margin .margin-info-grid,
    .trade-dynamic-page #margin .trade-feature-grid.compact,
    .trade-dynamic-page #ipo .ipo-copy-row {
        grid-template-columns: 1fr;
    }

    .trade-dynamic-page #margin .margin-banner img {
        order: 0;
        min-height: 220px;
    }
}

@media(max-width:640px) {
    .trade-dynamic-page #margin .margin-info-grid article {
        grid-template-columns: minmax(30%, 1fr) minmax(165px, 58%);
        min-height: 190px;
        background-position: left center;
    }

    .trade-dynamic-page #margin .margin-info-grid article::before {
        background: linear-gradient(90deg, rgba(255, 255, 255, .02) 0%, rgba(255, 255, 255, .26) 34%, rgba(255, 255, 255, .92) 58%, rgba(255, 255, 255, .97) 100%);
    }

    .trade-dynamic-page #margin .margin-info-grid div {
        padding: 1.1rem;
    }
}

@media(max-width:640px) {

    .trade-dynamic-page #a-shares,
    .trade-dynamic-page #futures,
    .trade-dynamic-page #margin,
    .trade-dynamic-page #ipo {
        width: min(100% - 20px, 1280px);
        padding: 2rem 1rem;
        border-radius: 20px;
    }

    .trade-dynamic-page #a-shares .trade-detail-hero>p {
        padding: 1rem;
    }

    .trade-dynamic-page #futures .futures-copy {
        padding: 1.25rem;
    }

    .trade-dynamic-page #futures .trade-bullet-list li {
        min-height: 0;
    }

    .trade-dynamic-page #margin .margin-banner div {
        padding: 1.5rem;
    }

    .trade-dynamic-page #margin .trade-feature-grid.compact article {
        /* grid-template-columns: 78px 1fr; */
    }
}

.trade-dynamic-page #a-shares .trade-detail-hero> :first-child,
.trade-dynamic-page #a-shares .trade-detail-hero h2 {
    align-self: center;
}

.trade-dynamic-page #a-shares .trade-detail-hero h2 {
    margin: 0;
}

.trade-dynamic-page #a-shares .trade-detail-hero .kicker {
    margin-bottom: .35rem;
}

.trade-dynamic-page #a-shares .trade-detail-hero {
    grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr);
}

@media(max-width:1024px) {
    .trade-dynamic-page #a-shares .trade-detail-hero {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

.trade-detail-title-block {
    display: grid;
    align-content: center;
}

.trade-dynamic-page #ipo .ipo-copy-card {
    max-width: 980px;
    min-height: 270px;
    margin: 1.4rem auto 0;
    padding: clamp(1.7rem, 3vw, 2.5rem) min(38%, 360px) clamp(1.7rem, 3vw, 2.5rem) clamp(1.7rem, 3vw, 2.5rem);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .96) 58%, rgba(255, 250, 245, .74) 100%),
        url('img/02/02-5-2.png') right 8% center / min(260px, 28%) auto no-repeat;
}

.trade-dynamic-page #ipo .ipo-copy-card p {
    max-width: 660px;
}

@media(max-width:640px) {
    .trade-dynamic-page #ipo .ipo-copy-card {
        min-height: 0;
        padding: 1.35rem 1.35rem 8.5rem;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .96) 62%, rgba(255, 250, 245, .74) 100%),
            url('img/02/02-5-2.png') right 1.2rem bottom 1.1rem / 150px auto no-repeat;
    }
}

/* Institution page */
.institution-page {
    background: linear-gradient(180deg, #fffaf5 0%, #fff 42%, #fffaf5 100%);
}

.institution-hero {
    width: min(1380px, calc(100% - 72px));
    margin: 0 auto;
    padding: 4.8rem 0 3.2rem;
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(320px, .82fr) minmax(360px, .95fr);
    gap: 2.7rem;
    align-items: center;
}

.institution-hero-copy h1 {
    color: #191311;
    font-size: clamp(3rem, 4.5vw, 5.4rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: .04em;
}

.institution-hero-copy h2 {
    margin-top: 2rem;
    color: #17110f;
    font-size: clamp(1.9rem, 2.6vw, 3.35rem);
    line-height: 1.22;
    font-weight: 900;
}

.institution-hero-copy ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem 1.4rem;
    margin: 1.5rem 0 1.8rem;
    color: #53443f;
    font-weight: 700;
}

.institution-hero-copy li:before {
    content: "• ";
    color: #b3261e;
    font-weight: 900;
}

.institution-hero-photo {
    min-height: 320px;
    border-radius: 0;
    background: url('img/03/03.png') center/cover no-repeat;
    box-shadow: 0 18px 42px rgba(77, 36, 18, .12);
}

.institution-open-card {
    min-height: 320px;
    padding: 2.8rem 3.2rem;
    background: linear-gradient(135deg, #1978ff, #0a66f6);
    color: #fff;
    box-shadow: 0 22px 48px rgba(20, 100, 230, .22);
}

.institution-open-card h2 {
    font-size: clamp(1.8rem, 2.2vw, 2.65rem);
    line-height: 1.34;
    font-weight: 900;
}

.institution-open-card ul {
    margin: 1.5rem 0 .9rem;
    padding-left: 1.05rem;
    border-left: 2px solid rgba(255, 255, 255, .72);
    color: rgba(255, 255, 255, .9);
    line-height: 1.9;
}

.institution-open-card small {
    display: block;
    color: rgba(255, 255, 255, .78);
}

.institution-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.8rem;
}

.institution-open-card .btn-primary {
    background: #ff1616;
    box-shadow: none;
}

.institution-open-card .btn-outline {
    border-color: rgba(0, 82, 210, .18);
    background: #0064f5;
    color: #fff;
}

.institution-support {
    width: min(960px, calc(100% - 48px));
    margin: 0 auto 5rem;
    padding: 1.2rem 0 0;
    text-align: center;
}

.institution-support h2 {
    color: #191311;
    font-size: clamp(2rem, 3vw, 3.6rem);
    line-height: 1.15;
    font-weight: 900;
}

.institution-support p:not(.kicker) {
    margin-top: 1.4rem;
    color: #5a4b45;
    font-size: 1.08rem;
    line-height: 1.85;
}

.institution-support .institution-actions {
    justify-content: center;
}

.institution-support .btn-primary {
    min-width: 150px;
    background: #ff1616;
}

.institution-support .btn-outline {
    min-width: 150px;
    border-color: #0068ff;
    background: #0068ff;
    color: #fff;
}

@media(max-width:1180px) {
    .institution-hero {
        grid-template-columns: 1fr 1fr;
    }

    .institution-open-card {
        grid-column: 1 / -1;
    }
}

@media(max-width:768px) {
    .institution-hero {
        width: min(100% - 28px, 1380px);
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding-top: 3rem;
    }

    .institution-hero-copy ul {
        grid-template-columns: 1fr;
    }

    .institution-hero-photo,
    .institution-open-card {
        min-height: 260px;
    }

    .institution-open-card {
        padding: 2rem;
    }

    .institution-support {
        width: min(100% - 28px, 960px);
        text-align: left;
    }

    .institution-support .institution-actions {
        justify-content: flex-start;
    }
}

/* Institution page redesign */
.institution-redesign {
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 8%, rgba(205, 52, 29, .10), transparent 28rem),
        radial-gradient(circle at 92% 20%, rgba(25, 120, 255, .12), transparent 30rem),
        linear-gradient(180deg, #fffaf5 0%, #fff 38%, #fff8f1 100%);
}

.institution-rd-hero,
.institution-rd-section,
.institution-rd-support,
.institution-rd-cta {
    width: min(1360px, calc(100% - 72px));
    margin-inline: auto;
}

.institution-rd-hero {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: center;
    min-height: 680px;
    padding: 5rem 0 4rem;
}

.institution-rd-copy h1 {
    margin-top: .9rem;
    color: #1b120f;
    font-size: clamp(3.2rem, 5vw, 6.8rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -.04em;
}

.institution-rd-copy>p:not(.kicker) {
    max-width: 680px;
    margin-top: 1.35rem;
    color: #5c4a43;
    font-size: clamp(1.08rem, 1.35vw, 1.35rem);
    line-height: 1.8;
}

.institution-rd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.institution-rd-actions .btn-primary,
.institution-rd-actions .btn-outline {
    min-width: 148px;
    border-radius: 999px;
}

.institution-rd-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
    max-width: 660px;
    margin-top: 2.4rem;
}

.institution-rd-stats div {
    padding: 1.1rem 1rem;
    border: 1px solid rgba(225, 203, 184, .9);
    border-radius: 18px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 14px 32px rgba(77, 36, 18, .055);
}

.institution-rd-stats dt {
    color: #b3261e;
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1;
    font-weight: 950;
}

.institution-rd-stats dd {
    margin-top: .55rem;
    color: #6a5851;
    font-weight: 800;
}

.institution-rd-visual {
    position: relative;
    min-height: 550px;
}

.institution-rd-photo {
    position: absolute;
    inset: 0 9% 12% 0;
    border-radius: 34px;
    background: linear-gradient(90deg, rgba(24, 15, 12, .12), rgba(24, 15, 12, .02)), url('img/03/03.png') center/cover no-repeat;
    box-shadow: 0 34px 80px rgba(77, 36, 18, .18);
}

.institution-rd-photo:after {
    content: "";
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 26px;
    pointer-events: none;
}

.institution-rd-bluecard {
    position: absolute;
    right: 0;
    bottom: 0;
    width: min(420px, 68%);
    padding: 2rem;
    border-radius: 28px;
    background: linear-gradient(135deg, #1778ff, #005ce6);
    color: #fff;
    box-shadow: 0 28px 64px rgba(0, 88, 222, .25);
}

.institution-rd-bluecard span {
    color: rgba(255, 255, 255, .72);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.institution-rd-bluecard strong {
    display: block;
    margin-top: .55rem;
    font-size: clamp(1.65rem, 2.4vw, 2.55rem);
    line-height: 1.1;
    font-weight: 950;
}

.institution-rd-bluecard p {
    margin-top: .8rem;
    color: rgba(255, 255, 255, .88);
    line-height: 1.65;
}

.institution-rd-section {
    padding: 4rem 0 3rem;
}

.institution-rd-section-head {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(380px, 1.1fr);
    gap: 2.5rem;
    align-items: end;
    margin-bottom: 1.8rem;
}

.institution-rd-section-head h2,
.institution-rd-support-card h2,
.institution-rd-cta h2 {
    color: #1b120f;
    font-size: clamp(2.3rem, 3.6vw, 4.6rem);
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -.035em;
}

.institution-rd-section-head>p:not(.kicker),
.institution-rd-support-card>p,
.institution-rd-cta p {
    color: #66544c;
    font-size: 1.08rem;
    line-height: 1.8;
}

.institution-rd-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.institution-rd-service-grid article {
    position: relative;
    min-height: 230px;
    padding: 1.7rem;
    overflow: hidden;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 248, 240, .82));
    box-shadow: 0 18px 44px rgba(77, 36, 18, .065);
}

.institution-rd-service-grid article:after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -28px;
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(211, 56, 29, .13), transparent 68%);
}

.institution-rd-service-grid span {
    color: #d65a2c;
    font-size: .9rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.institution-rd-service-grid h3 {
    margin-top: 2.5rem;
    color: #221713;
    font-size: 1.55rem;
    font-weight: 950;
}

.institution-rd-service-grid p {
    margin-top: .7rem;
    color: #66544c;
    line-height: 1.65;
}

.institution-rd-support {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1.4rem;
    align-items: stretch;
    padding: 3rem 0 4rem;
}

.institution-rd-support-card,
.institution-rd-process {
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 30px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 24px 60px rgba(77, 36, 18, .075);
}

.institution-rd-support-card {
    padding: clamp(2rem, 3vw, 3rem);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 250, 245, .84)),
        url('img/03/03-2-1.png') right bottom / 46% auto no-repeat;
}

.institution-rd-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.6rem;
}

.institution-rd-tags span {
    padding: .55rem .9rem;
    border: 1px solid rgba(179, 38, 30, .18);
    border-radius: 999px;
    background: #fff7ef;
    color: #9f2b20;
    font-weight: 900;
}

.institution-rd-process {
    display: grid;
    gap: .8rem;
    padding: 1rem;
}

.institution-rd-process article {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: .4rem 1rem;
    align-content: center;
    padding: 1.25rem;
    border-radius: 22px;
    background: linear-gradient(135deg, #fff, #fff6ed);
}

.institution-rd-process span {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: linear-gradient(135deg, #c12c1d, #e78b32);
    color: #fff;
    font-weight: 950;
}

.institution-rd-process h3 {
    color: #221713;
    font-size: 1.25rem;
    font-weight: 950;
}

.institution-rd-process p {
    color: #6a5851;
    line-height: 1.55;
}

.institution-rd-cta {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: center;
    margin-bottom: 5rem;
    padding: clamp(2rem, 3.2vw, 3.3rem);
    border-radius: 32px;
    background: linear-gradient(135deg, #1b120f, #682014 58%, #c33a1e);
    color: #fff;
    box-shadow: 0 30px 70px rgba(99, 38, 22, .18);
}

.institution-rd-cta h2,
.institution-rd-cta p,
.institution-rd-cta .kicker {
    color: #fff;
}

.institution-rd-cta p {
    max-width: 680px;
    margin-top: .8rem;
    color: rgba(255, 255, 255, .82);
}

.institution-rd-cta .btn-outline {
    border-color: rgba(255, 255, 255, .58);
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

@media(max-width:1180px) {

    .institution-rd-hero,
    .institution-rd-section-head,
    .institution-rd-support {
        grid-template-columns: 1fr;
    }

    .institution-rd-visual {
        min-height: 520px;
    }

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

    .institution-rd-support-card {
        background-size: 340px auto;
    }
}

@media(max-width:760px) {

    .institution-rd-hero,
    .institution-rd-section,
    .institution-rd-support,
    .institution-rd-cta {
        width: min(100% - 28px, 1360px);
    }

    .institution-rd-hero {
        min-height: 0;
        padding: 3rem 0 2rem;
    }

    .institution-rd-stats,
    .institution-rd-service-grid {
        grid-template-columns: 1fr;
    }

    .institution-rd-visual {
        min-height: 430px;
    }

    .institution-rd-photo {
        inset: 0 0 76px;
        border-radius: 26px;
    }

    .institution-rd-bluecard {
        width: calc(100% - 28px);
        left: 14px;
        right: 14px;
        padding: 1.45rem;
        border-radius: 22px;
    }

    .institution-rd-support-card {
        padding: 1.5rem;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 250, 245, .9)),
            url('img/03/03-2-1.png') right bottom / 230px auto no-repeat;
    }

    .institution-rd-cta {
        display: grid;
        border-radius: 24px;
    }
}

.institution-redesign .institution-rd-hero,
.institution-redesign .institution-rd-section,
.institution-redesign .institution-rd-support,
.institution-redesign .institution-rd-cta {
    box-sizing: border-box;
}

.institution-redesign .kicker {
    color: #b3261e;
    font-weight: 950;
    letter-spacing: .16em;
}

/* Institution page warm brand palette override */
.institution-redesign {
    background:
        radial-gradient(circle at 8% 8%, rgba(205, 52, 29, .10), transparent 28rem),
        radial-gradient(circle at 92% 20%, rgba(231, 139, 50, .16), transparent 30rem),
        linear-gradient(180deg, #fffaf5 0%, #fff 38%, #fff8f1 100%);
}

.institution-rd-bluecard,
.institution-open-card {
    background: linear-gradient(135deg, #8d2118 0%, #c5311f 48%, #e48b2f 100%) !important;
    box-shadow: 0 28px 64px rgba(156, 49, 24, .24) !important;
}

.institution-rd-bluecard span {
    color: rgba(255, 233, 211, .78);
}

.institution-rd-bluecard p,
.institution-open-card ul,
.institution-open-card small {
    color: rgba(255, 248, 240, .88);
}

.institution-open-card .btn-outline,
.institution-support .btn-outline {
    border-color: rgba(255, 255, 255, .45) !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #fff !important;
}

.institution-open-card .btn-primary,
.institution-support .btn-primary {
    background: #fff !important;
    color: #b3261e !important;
    box-shadow: none !important;
}

/* Professional services page */
.professional-page {
    background: linear-gradient(180deg, #fff 0%, #f4f4f4 34%, #fff 68%, #f4f4f4 100%);
}

.professional-hero {
    min-height: 560px;
    display: grid;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .62), rgba(0, 0, 0, .2) 45%, rgba(0, 0, 0, .08)),
        url('img/04/04-1-1.png') center/cover no-repeat;
    color: #fff;
}

.professional-hero>div {
    width: min(1180px, calc(100% - 72px));
    margin-inline: auto;
}

.professional-hero h1 {
    margin-top: .8rem;
    font-size: clamp(3rem, 4.5vw, 5.8rem);
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -.035em;
}

.professional-hero p:not(.kicker) {
    max-width: 620px;
    margin-top: 1.2rem;
    color: rgba(255, 255, 255, .84);
    font-size: 1.18rem;
    line-height: 1.8;
}

.professional-hero .kicker,
.professional-section .kicker,
.professional-insurance .kicker {
    color: #d82222;
    font-weight: 950;
    letter-spacing: .14em;
}

.professional-hero .kicker {
    color: rgba(255, 255, 255, .86);
}

.professional-section {
    width: min(1280px, calc(100% - 72px));
    margin: 0 auto;
    padding: 6rem 0;
}

.professional-section-head {
    display: grid;
    grid-template-columns: minmax(320px, .92fr) minmax(420px, 1.08fr);
    gap: 4rem;
    align-items: end;
    margin-bottom: 4rem;
}

.professional-section-head.reverse {
    align-items: start;
}

.professional-section h2,
.professional-insurance h2 {
    margin-top: .8rem;
    color: #050505;
    font-size: clamp(2.5rem, 4vw, 5rem);
    line-height: 1.06;
    font-weight: 950;
    letter-spacing: -.04em;
}

.professional-section-head>p,
.professional-section-head.reverse>p {
    color: #626262;
    font-size: 1.1rem;
    line-height: 1.9;
}

.professional-split {
    display: grid;
    grid-template-columns: minmax(420px, 1.05fr) minmax(420px, .95fr);
    gap: 5rem;
    align-items: center;
}

.professional-split.reverse {
    grid-template-columns: minmax(420px, .95fr) minmax(420px, 1.05fr);
}

.professional-image {
    min-height: 335px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .12);
}

.value-image {
    background-image: url('img/04/04-3-1.png');
}

.agency-image {
    background-image: url('img/04/04-2-2.png');
}

.personal-image {
    background-image: url('img/04/04-2-3.png');
}

.professional-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 2rem;
}

.professional-list span {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    min-height: 58px;
    padding: .8rem 1.3rem;
    border: 1px solid #cfcfcf;
    background: rgba(255, 255, 255, .48);
    color: #202020;
    font-size: 1.05rem;
    transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.professional-list span:hover {
    transform: translateY(-3px);
    border-color: rgba(216, 34, 34, .48);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .08);
}

.professional-list b {
    color: #e01717;
    font-weight: 500;
}

.professional-insurance {
    width: min(1190px, calc(100% - 72px));
    min-height: 560px;
    margin: 4rem auto 6rem;
    display: grid;
    grid-template-columns: minmax(420px, .95fr) minmax(420px, 1.05fr);
    overflow: hidden;
    background: #111;
}

.insurance-panel {
    padding: clamp(3rem, 5vw, 5.2rem);
    background:
        linear-gradient(135deg, rgba(214, 0, 0, .94), rgba(196, 0, 0, .86)),
        url('img/04/04-1-1.png') center/cover no-repeat;
    color: #fff;
}

.insurance-panel .kicker,
.insurance-panel h2 {
    color: #fff;
}

.insurance-logos {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
    margin-top: 3rem;
}

.insurance-logos span {
    display: grid;
    place-items: center;
    min-height: 54px;
    padding: .6rem;
    background: #fff;
    color: #333;
    font-size: .96rem;
    font-weight: 850;
    text-align: center;
}

.insurance-building {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, 0)),
        url('img/04/04-2-4.png') center/cover no-repeat;
}

@media(max-width:1024px) {

    .professional-section-head,
    .professional-split,
    .professional-split.reverse,
    .professional-insurance {
        grid-template-columns: 1fr;
    }

    .professional-section-head {
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .professional-section {
        padding: 4rem 0;
    }

    .insurance-building {
        min-height: 360px;
    }
}

@media(max-width:640px) {

    .professional-hero>div,
    .professional-section,
    .professional-insurance {
        width: min(100% - 28px, 1280px);
    }

    .professional-hero {
        min-height: 460px;
    }

    .professional-list,
    .insurance-logos {
        grid-template-columns: 1fr;
    }

    .professional-split,
    .professional-split.reverse {
        gap: 2rem;
    }

    .professional-image {
        min-height: 240px;
    }

    .insurance-panel {
        padding: 2rem;
    }
}

/* Help page PDF forms */
.help-pdf-section {
    position: relative;
    padding-top: 2.5rem;
}

.help-pdf-head {
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(360px, 1.22fr);
    gap: 2rem;
    align-items: end;
    margin-bottom: 1.8rem;
}

.help-pdf-head h2 {
    color: #251713;
    font-size: clamp(2.1rem, 3vw, 3.7rem);
    line-height: 1.08;
    font-weight: 950;
}

.help-pdf-head>p:not(.kicker) {
    color: #66544c;
    font-size: 1.08rem;
    line-height: 1.8;
}

.help-pdf-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.help-pdf-card {
    position: relative;
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 1.2rem 1.35rem;
    align-items: start;
    min-height: 230px;
    padding: 1.8rem;
    overflow: hidden;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 247, 238, .9)),
        radial-gradient(circle at 100% 0%, rgba(207, 49, 28, .12), transparent 18rem);
    box-shadow: 0 18px 46px rgba(77, 36, 18, .075);
}

.help-pdf-card:after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -48px;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(211, 56, 29, .13), transparent 68%);
    pointer-events: none;
}

.pdf-badge {
    display: grid;
    place-items: center;
    width: 78px;
    height: 92px;
    border-radius: 16px;
    background: linear-gradient(135deg, #b3261e, #e58b31);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 950;
    letter-spacing: .08em;
    box-shadow: 0 16px 30px rgba(179, 38, 30, .2);
}

.help-pdf-card span {
    color: #b3261e;
    font-size: .85rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.help-pdf-card h3 {
    margin-top: .35rem;
    color: #251713;
    font-size: clamp(1.55rem, 2vw, 2.35rem);
    font-weight: 950;
}

.help-pdf-card p {
    max-width: 520px;
    margin-top: .65rem;
    color: #5d4c45;
    line-height: 1.7;
}

.pdf-actions {
    grid-column: 2;
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin-top: .4rem;
}

.pdf-actions .btn-primary,
.pdf-actions .btn-outline {
    min-width: 120px;
    border-radius: 999px;
    padding: .7rem 1.05rem;
}

@media(max-width:1024px) {

    .help-pdf-head,
    .help-pdf-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:640px) {
    .help-pdf-card {
        grid-template-columns: 1fr;
        padding: 1.35rem;
    }

    .pdf-actions {
        grid-column: 1;
    }

    .pdf-badge {
        width: 68px;
        height: 78px;
    }
}

/* About page business expansion */
.about-business-section {
    position: relative;
}

.about-business-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: .35rem;
    justify-items: center;
    text-align: center;
    margin-bottom: 2rem;
}

.about-business-head .dv-title {
    justify-content: center;
    margin: .2rem 0 .3rem;
}

.about-business-head .dv-title:before,
.about-business-head .dv-title:after {
    display: none;
}

.about-business-head>p:not(.kicker) {
    color: #66544c;
    font-size: 1.12rem;
    line-height: 1.85;
    margin: 0 auto;
    max-width: 760px;
}

.about-business-section .kicker {
    color: #b3261e;
    font-weight: 950;
    letter-spacing: .14em;
}

.about-market-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.3rem;
    margin-bottom: 1.5rem;
}

.about-market-card,
.about-text-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 248, 240, .88));
    box-shadow: 0 18px 44px rgba(77, 36, 18, .065);
}

.about-market-card {
    min-height: 300px;
    padding: 1.7rem;
}

.about-market-card:after {
    content: "";
    position: absolute;
    right: -32px;
    bottom: -42px;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(211, 56, 29, .13), transparent 68%);
}

.about-market-card span {
    color: #d75627;
    font-size: .9rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.about-market-card h3,
.about-feature-panel h3,
.about-text-card h3,
.about-trust-panel h3 {
    margin-top: .8rem;
    color: #211713;
    font-size: clamp(1.55rem, 2.1vw, 2.35rem);
    line-height: 1.18;
    font-weight: 950;
}

.about-market-card p,
.about-feature-panel p,
.about-text-card p,
.about-trust-panel p {
    margin-top: .9rem;
    color: #5f4e47;
    line-height: 1.82;
}

.about-feature-panel {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
    gap: 2rem;
    align-items: center;
    margin: 1.5rem 0;
    padding: clamp(1.8rem, 3vw, 3rem);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(39, 21, 17, .96), rgba(117, 37, 24, .94)),
        radial-gradient(circle at 90% 10%, rgba(229, 139, 49, .28), transparent 22rem);
    color: #fff;
    box-shadow: 0 24px 58px rgba(82, 33, 20, .16);
}

.about-feature-panel h3,
.about-feature-panel .kicker {
    color: #fff;
}

.about-feature-panel p {
    color: rgba(255, 245, 236, .84);
}

.about-feature-panel ul {
    display: grid;
    gap: .85rem;
}

.about-feature-panel li {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .9);
    line-height: 1.55;
}

.about-feature-panel li:before {
    content: "✓";
    margin-right: .55rem;
    color: #f0b15a;
    font-weight: 950;
}

.about-wealth-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.3rem;
    margin-bottom: 1.5rem;
}

.about-text-card {
    min-height: 300px;
    padding: clamp(1.6rem, 2.4vw, 2.4rem);
}

.about-text-card.highlight {
    background: linear-gradient(135deg, #fff, #fff2e6);
}

.about-trust-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    gap: 2rem;
    padding: clamp(1.8rem, 3vw, 3rem);
    border-radius: 28px;
    background: linear-gradient(135deg, #fff7ef, #fff);
    border: 1px solid rgba(232, 213, 196, .95);
    box-shadow: 0 18px 44px rgba(77, 36, 18, .06);
}

.about-trust-panel h4 {
    color: #b3261e;
    font-size: clamp(1.45rem, 2vw, 2.1rem);
    line-height: 1.25;
    font-weight: 950;
}

@media(max-width:1024px) {

    .about-business-head,
    .about-feature-panel,
    .about-trust-panel {
        grid-template-columns: 1fr;
    }

    .about-market-grid,
    .about-wealth-layout {
        grid-template-columns: 1fr;
    }

    .about-market-card {
        min-height: 0;
    }
}

@media(max-width:640px) {

    .about-feature-panel,
    .about-trust-panel,
    .about-text-card,
    .about-market-card {
        border-radius: 20px;
    }

    .about-business-head {
        gap: 1rem;
    }
}

/* Download page redesign */
.download-redesign {
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 12%, rgba(199, 49, 28, .12), transparent 28rem),
        radial-gradient(circle at 88% 28%, rgba(229, 139, 49, .16), transparent 30rem),
        linear-gradient(180deg, #fffaf5 0%, #fff 38%, #fff7ee 100%);
}

.download-rd-hero,
.download-rd-section,
.download-rd-promo {
    width: min(1360px, calc(100% - 72px));
    margin-inline: auto;
}

.download-rd-hero {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(450px, 1.05fr);
    gap: clamp(2rem, 4vw, 4.8rem);
    align-items: center;
    min-height: 720px;
    padding: 5rem 0 4rem;
}

.download-rd-copy h1 {
    margin-top: .9rem;
    color: #1f1512;
    font-size: clamp(3.2rem, 5vw, 6.8rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: -.04em;
}

.download-rd-copy>p:not(.kicker) {
    max-width: 680px;
    margin-top: 1.4rem;
    color: #5c4a43;
    font-size: clamp(1.08rem, 1.35vw, 1.35rem);
    line-height: 1.85;
}

.download-redesign .kicker {
    color: #b3261e;
    font-weight: 950;
    letter-spacing: .14em;
}

.download-rd-actions,
.download-rd-points {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.download-rd-actions .btn-primary,
.download-rd-actions .btn-outline {
    min-width: 148px;
    border-radius: 999px;
}

.download-rd-points span {
    padding: .62rem .95rem;
    border: 1px solid rgba(179, 38, 30, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: #6a5148;
    font-weight: 850;
}

.download-rd-visual {
    position: relative;
    min-height: 560px;
}

.download-phone-card {
    position: absolute;
    inset: 0 0 0 8%;
    border-radius: 36px;
    background:
        linear-gradient(120deg, rgba(255, 250, 245, .08), rgba(255, 255, 255, .72)),
        url('img/10/10-1-1.png') center/cover no-repeat;
    box-shadow: 0 34px 82px rgba(77, 36, 18, .18);
}

.download-floating-badge {
    position: absolute;
    left: 0;
    bottom: 2.2rem;
    display: grid;
    gap: .2rem;
    min-width: 210px;
    padding: 1.2rem 1.45rem;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(139, 34, 22, .94), rgba(220, 93, 31, .9));
    color: #fff;
    box-shadow: 0 24px 54px rgba(147, 47, 24, .24);
}

.download-floating-badge strong {
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 950;
}

.download-rd-section {
    padding: 4.5rem 0;
}

.download-rd-head {
    display: grid;
    grid-template-columns: minmax(280px, .82fr) minmax(420px, 1.18fr);
    gap: 2.5rem;
    align-items: end;
    margin-bottom: 2rem;
}

.download-rd-head.compact {
    display: block;
    text-align: center;
}

.download-rd-head h2,
.download-rd-promo h2 {
    color: #1f1512;
    font-size: clamp(2.4rem, 3.8vw, 4.8rem);
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -.035em;
}

.download-rd-head>p:not(.kicker) {
    color: #66544c;
    font-size: 1.08rem;
    line-height: 1.82;
}

.download-rd-platforms {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

.download-platform-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-height: 430px;
    padding: 1.7rem;
    overflow: hidden;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 248, 240, .88));
    box-shadow: 0 22px 52px rgba(77, 36, 18, .075);
}

.download-platform-icon {
    width: 58px;
    height: 58px;
    object-fit: contain;
    margin-bottom: 1.1rem;
}

.download-platform-card span {
    color: #b3261e;
    font-size: .8rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.download-platform-card h3 {
    margin-top: .35rem;
    color: inherit;
    font-size: clamp(1.75rem, 2.4vw, 2.8rem);
    font-weight: 950;
}

.download-platform-card p {
    margin-top: .7rem;
    color: #5d4c45;
    line-height: 1.7;
}

.download-qr {
    width: 138px;
    height: 138px;
    object-fit: contain;
    margin: 1.4rem 0;
    padding: .5rem;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(77, 36, 18, .08);
}

.qr-placeholder-text {
    text-align: center;
    margin: 1.4rem 0;
    font-size: .85rem;
    color: #999;
}

.terminal-mark {
    display: grid;
    place-items: center;
    width: 138px;
    height: 138px;
    margin: 1.4rem 0;
    border-radius: 24px;
    background: #fff4e8;
    color: #b3261e;
    font-size: 2rem;
    font-weight: 950;
}

.download-platform-card>a {
    align-self: end;
    width: max-content;
    border-radius: 999px;
    border-color: rgba(179, 38, 30, .55);
    color: #b3261e;
    background: #fff;
}

.download-platform-card>a:hover {
    background: #b3261e;
    color: #fff;
    text-decoration: none;
}

.feature-section {
    padding-top: 3rem;
}

.download-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 2.2rem;
}

.download-feature-grid article {
    position: relative;
    min-height: 360px;
    padding: 1.4rem;
    overflow: hidden;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 24px;
    /* background: rgba(255, 255, 255, .9); */
    box-shadow: 0 18px 44px rgba(77, 36, 18, .065);
}

.download-feature-grid img {
    display: block;
    width: 100%;
    max-height: 210px;
    object-fit: contain;
    margin: 0 auto 1rem;
}

.download-feature-grid h3 {
    color: #1f1512;
    font-size: 1.45rem;
    font-weight: 950;
}

.download-feature-grid p {
    margin-top: .55rem;
    color: #66544c;
    line-height: 1.65;
}

.download-rd-promo {
    display: flex;
    justify-content: space-between;
    gap: 1.6rem;
    align-items: center;
    margin-bottom: 4rem;
    padding: clamp(1.65rem, 2.4vw, 2.5rem);
    border-radius: 26px;
    background: linear-gradient(135deg, #8d2118, #c5311f 52%, #e48b2f);
    color: #fff;
    box-shadow: 0 30px 70px rgba(147, 47, 24, .2);
}

.download-rd-promo .kicker,
.download-rd-promo h2 {
    color: #fff;
}

.download-rd-promo h2 {
    margin-top: .45rem;
    font-size: clamp(1.8rem, 2.6vw, 3rem);
    line-height: 1.16;
    letter-spacing: -.02em;
}

.download-rd-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.25rem;
}

.download-rd-metrics span {
    min-width: 150px;
    padding: .82rem .95rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 16px;
    background: rgba(255, 255, 255, .1);
}

.download-rd-metrics b,
.download-rd-metrics small {
    display: block;
}

.download-rd-metrics b {
    font-size: 1.22rem;
    font-weight: 950;
}

.download-rd-metrics small {
    margin-top: .28rem;
    color: rgba(255, 255, 255, .82);
    font-size: .88rem;
    line-height: 1.45;
}

.download-rd-promo .btn-primary {
    flex: 0 0 auto;
    background: #fff;
    color: #b3261e;
    box-shadow: none;
}

@media(max-width:1180px) {

    .download-rd-hero,
    .download-rd-head,
    .download-rd-platforms {
        grid-template-columns: 1fr;
    }

    .download-rd-visual {
        min-height: 480px;
    }

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

@media(max-width:760px) {

    .download-rd-hero,
    .download-rd-section,
    .download-rd-promo {
        width: min(100% - 28px, 1360px);
    }

    .download-rd-hero {
        min-height: 0;
        padding: 3rem 0 2rem;
    }

    .download-rd-visual {
        min-height: 360px;
    }

    .download-phone-card {
        inset: 0;
        border-radius: 26px;
    }

    .download-floating-badge {
        left: 1rem;
        bottom: 1rem;
    }

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

    .download-platform-card {
        grid-template-columns: 54px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        column-gap: .9rem;
        align-items: center;
        min-height: 0;
        border-radius: 22px;
    }

    .download-platform-card .download-platform-icon {
        grid-column: 1;
        grid-row: 1;
        width: 44px;
        height: 44px;
        margin: 0;
    }

    .download-platform-card>div:first-of-type {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .download-platform-card h3 {
        margin-top: .15rem;
        font-size: clamp(1.8rem, 9vw, 2.35rem);
        line-height: 1.1;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .download-platform-card span {
        display: block;
        font-size: .82rem;
        line-height: 1.35;
        letter-spacing: .02em;
        text-transform: none;
    }

    .download-platform-card p {
        display: none;
    }

    .download-platform-card .qr-placeholder-text,
    .download-platform-card .download-qr,
    .download-platform-card>a {
        grid-column: 1 / -1;
    }

    .download-rd-promo {
        display: grid;
        border-radius: 24px;
    }
}

/* Professional services visual unification */
.professional-page {
    background:
        radial-gradient(circle at 8% 8%, rgba(205, 52, 29, .10), transparent 28rem),
        radial-gradient(circle at 92% 24%, rgba(231, 139, 50, .16), transparent 30rem),
        linear-gradient(180deg, #fffaf5 0%, #fff 34%, #fff8f1 100%) !important;
}

.professional-hero {
    width: min(1360px, calc(100% - 72px));
    min-height: 560px;
    margin: 3.5rem auto 2rem;
    overflow: hidden;
    border-radius: 36px;
    background:
        linear-gradient(90deg, rgba(37, 18, 14, .76), rgba(122, 37, 24, .38) 48%, rgba(255, 250, 245, .08)),
        url('img/04/04-1-1.png') center/cover no-repeat !important;
    box-shadow: 0 34px 82px rgba(77, 36, 18, .16);
}

.professional-hero>div {
    width: min(1180px, calc(100% - 64px));
}

.professional-hero h1 {
    font-size: clamp(3.1rem, 5vw, 6.4rem);
    letter-spacing: -.04em;
}

.professional-hero p:not(.kicker) {
    max-width: 680px;
    color: rgba(255, 246, 238, .88);
}

.professional-section {
    width: min(1280px, calc(100% - 72px));
    padding: 4.6rem 0;
}

.professional-section-head {
    gap: 2.5rem;
    margin-bottom: 2.2rem;
}

.professional-section .kicker,
.professional-insurance .kicker {
    color: #b3261e;
}

.professional-section h2,
.professional-insurance h2 {
    color: #211713;
    font-size: clamp(2.35rem, 3.7vw, 4.6rem);
}

.professional-section-head>p,
.professional-section-head.reverse>p {
    color: #66544c;
}

.professional-split,
.professional-split.reverse {
    gap: 2rem;
    padding: 1.2rem;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 30px;
    background: rgba(255, 255, 255, .64);
    box-shadow: 0 22px 54px rgba(77, 36, 18, .065);
}

.professional-image {
    min-height: 390px;
    border-radius: 24px;
    box-shadow: none;
}

.professional-list {
    gap: 1rem;
}

.professional-list span {
    min-height: 72px;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(232, 213, 196, .95);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 248, 240, .9));
    color: #2a1c18;
    box-shadow: 0 12px 28px rgba(77, 36, 18, .045);
}

.professional-list span:hover {
    border-color: rgba(179, 38, 30, .35);
    box-shadow: 0 18px 40px rgba(95, 40, 18, .1);
}

.professional-list b {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #fff0e8;
    color: #b3261e;
    font-weight: 950;
}

.professional-insurance {
    width: min(1280px, calc(100% - 72px));
    min-height: 540px;
    margin: 3rem auto 5rem;
    border-radius: 34px;
    background: linear-gradient(135deg, #fff7ef, #fff);
    box-shadow: 0 28px 70px rgba(77, 36, 18, .09);
}

.insurance-panel {
    background:
        linear-gradient(135deg, rgba(141, 33, 24, .95), rgba(197, 49, 31, .88) 56%, rgba(228, 139, 47, .78)),
        url('img/04/04-1-1.png') center/cover no-repeat;
}

.insurance-logos span {
    min-height: 60px;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(90, 24, 14, .14);
}

.insurance-building {
    background:
        linear-gradient(90deg, rgba(255, 250, 245, .22), rgba(255, 255, 255, 0)),
        url('img/04/04-2-4.png') center/cover no-repeat;
}

@media(max-width:1024px) {

    .professional-hero,
    .professional-section,
    .professional-insurance {
        width: min(100% - 36px, 1280px);
    }

    .professional-split.reverse .professional-list {
        order: 2;
    }

    .professional-split.reverse .professional-image {
        order: 1;
    }
}

@media(max-width:640px) {

    .professional-hero,
    .professional-section,
    .professional-insurance {
        width: min(100% - 24px, 1280px);
    }

    .professional-hero {
        min-height: 430px;
        margin-top: 1.5rem;
        border-radius: 24px;
    }

    .professional-hero>div {
        width: min(100% - 32px, 1180px);
    }

    .professional-split,
    .professional-split.reverse,
    .professional-insurance {
        border-radius: 22px;
    }

    .professional-image {
        min-height: 240px;
        border-radius: 18px;
    }
}

/* Follow-up fixes: footer download column and IPO section alignment */
@media(min-width:1101px) {
    .site-footer-v2 .container {
        width: min(100% - 72px, 1540px);
    }

    .footer-v2-grid {
        grid-template-columns: minmax(240px, 1.55fr) repeat(9, minmax(78px, max-content)) !important;
        gap: clamp(.9rem, 1.45vw, 1.9rem);
    }

    .footer-v2-grid nav {
        min-width: 0;
    }

    .footer-v2-grid nav[aria-label="頁尾下載導覽"] {
        grid-column: auto;
    }

    .footer-v2-grid nav[aria-label="頁尾下載導覽"] h2,
    .footer-v2-grid nav[aria-label="頁尾下載導覽"] a {
        white-space: nowrap;
    }

    .footer-brand small {
        max-width: 210px;
    }
}

.trade-dynamic-page #ipo .ipo-layout {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: stretch;
}

.trade-dynamic-page #ipo .ipo-layout>div:last-child {
    display: grid;
    align-content: start;
}

.trade-dynamic-page #ipo .trade-subheading {
    margin-top: 0 !important;
    margin-bottom: 1rem;
    text-align: left;
}

.trade-dynamic-page #ipo .trade-subheading:after {
    margin-left: 0;
}

.trade-dynamic-page #ipo .ipo-copy-card {
    max-width: 980px;
    width: calc((100% - 2rem) * .69);
    margin-left: calc((100% - 2rem) * .155);
    margin-right: auto;
}

@media(max-width:1024px) {
    .trade-dynamic-page #ipo .trade-subheading {
        padding-left: 0;
    }

    .trade-dynamic-page #ipo .ipo-copy-card {
        width: 100%;
        margin-left: 0;
    }
}

/* Final visual tuning: IPO full alignment, contact art visibility, about section density */
.trade-dynamic-page #ipo .ipo-copy-card {
    width: 100%;
    max-width: none;
    margin: 1.4rem 0 0;
}

.trade-dynamic-page #ipo .ipo-copy-card p {
    max-width: 760px;
}

.help-page-img .contact-grid .mock-card {
    grid-template-rows: auto 68px 54px 1fr;
    min-height: 408px;
    overflow: hidden;
}

.help-page-img .contact-grid .mock-card>p {
    align-self: start;
}

.help-page-img .contact-grid .mock-card .btn-outline {
    align-self: start;
    justify-self: end;
    /* margin-top: 0 !important; */
}

.help-page-img .contact-grid .mock-card:not(:has(.btn-outline))::after {
    content: "";
    display: block;
    min-height: 54px;
}

.help-contact-art {
    min-height: 178px;
    margin: auto -1.5rem -1.5rem;
    display: block;
    overflow: hidden;
}

.help-contact-art img {
    display: block;
    width: 100%;
    height: 178px;
    object-fit: cover;
    object-position: center bottom;
}

.help-page-img .service-bar {
    min-height: 126px;
    align-items: center;
    padding-right: 18rem;
}

.help-page-img .service-bar:after {
    right: 1.6rem;
    bottom: 0;
    width: 240px;
    height: 126px;
    background-size: contain;
}

.about-img-page .about-overview-grid {
    align-items: stretch;
}

.about-img-page .about-overview-grid>.dv-card {
    min-height: 0;
}

.about-img-page .about-intro {
    display: grid;
    grid-template-rows: auto auto;
    padding: 1.55rem 2rem 1rem;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .82) 46%, rgba(255, 244, 230, .58) 100%), url('/site-assets/img/09/09-2-1.png');
    background-repeat: no-repeat;
    background-position: right 1rem bottom .35rem;
    background-size: min(82%, 420px) auto;
}

.about-img-page .about-intro p {
    position: relative;
    z-index: 1;
    line-height: 1.68;
}

.about-img-page .about-intro-art {
    align-self: end;
    margin: .45rem -1rem -1rem;
    max-height: 220px;
}

.about-img-page .about-intro-art img {
    max-height: 220px;
}

.about-img-page .timeline-card {
    display: grid;
    align-content: start;
    padding-block: .85rem;
}

.about-img-page .timeline-item {
    min-height: 96px;
    padding: .5rem 0;
    grid-template-columns: 108px 1fr 120px;
}

.about-img-page .about-timeline-art {
    max-height: 58px;
}

@media(max-width:1024px) {
    .help-contact-art {
        margin: auto -1.5rem -1.5rem;
    }

    .help-contact-art img {
        height: 168px;
    }

    .help-page-img .service-bar {
        padding-right: 1.3rem;
    }

    .help-page-img .service-bar:after {
        display: none;
    }
}

/* About scale cards: bottom-anchored background images */
.about-img-page .scale-grid article {
    display: block;
    padding: 1.4rem 1.45rem 150px;
    min-height: 290px;
}

.about-img-page .scale-grid article:nth-child(1) {
    --scale-art: url('img/09/09-4-1.png');
}

.about-img-page .scale-grid article:nth-child(2) {
    --scale-art: url('img/09/09-4-2.png');
}

.about-img-page .scale-grid article:nth-child(3) {
    --scale-art: url('img/09/09-4-3.png');
}

.about-img-page .scale-grid article:nth-child(4) {
    --scale-art: url('img/09/09-4-4.png');
}

.about-img-page .scale-grid article::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 145px;
    pointer-events: none;
    background: var(--scale-art) center bottom / 92% auto no-repeat;
}

.about-img-page .scale-grid article>* {
    position: relative;
    z-index: 2;
}

.about-img-page .scale-grid article:has(> b):has(> em) {
    padding-bottom: 1.2rem;
    background:
        radial-gradient(circle at 50% 58%, rgba(232, 139, 50, .12), transparent 44%),
        linear-gradient(180deg, #fff, #fff8f0);
}

.about-img-page .scale-grid article:has(> b):has(> em)::after {
    left: 1.2rem;
    right: auto;
    bottom: 4.8rem;
    width: min(76%, 180px);
    height: 108px;
    background-size: contain;
}

.about-img-page .scale-grid article:has(> b):has(> em)>p {
    font-size: 1.05rem;
    font-weight: 900;
    color: #3a2119;
}

.about-img-page .scale-grid article:has(> b):has(> em)>b,
.about-img-page .scale-grid article:has(> b):has(> em)>em {
    position: absolute;
    right: 1.45rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 5.1rem;
    padding: .58rem .75rem;
    border-radius: 999px;
    font-size: .98rem;
    line-height: 1;
    font-style: normal;
    font-weight: 900;
}

.about-img-page .scale-grid article:has(> b):has(> em)>b {
    top: 4.8rem;
    color: #b3261e;
    background: #fff0e8;
}

.about-img-page .scale-grid article:has(> b):has(> em)>em {
    top: 8.6rem;
    color: #c86a21;
    background: #fff7df;
}

.about-img-page .scale-grid article:has(> b):has(> em)>b br,
.about-img-page .scale-grid article:has(> b):has(> em)>em br {
    display: none;
}

/* Asset management flow and CTA refinement */
.asset-page-img .mock-section:has(.asset-cta-banner) {
    padding-top: 1.6rem;
    padding-bottom: 3.2rem;
}

.asset-page-img .flow-grid {
    gap: 1rem;
    margin-top: 1.2rem;
    padding: .9rem;
    border: 1px solid rgba(234, 210, 188, .76);
    border-radius: 24px;
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 20px 54px rgba(77, 36, 18, .055);
}

.asset-page-img .flow-grid article {
    padding: 1.25rem 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 248, 239, .72));
}

.asset-page-img .flow-grid article:not(:last-child):before,
.asset-page-img .flow-grid article:not(:last-child):after {
    display: none;
}

.asset-flow-icon {
    width: 72px;
    height: 72px;
    margin-bottom: .65rem;
    box-shadow: 0 14px 30px rgba(155, 75, 18, .10);
}

.asset-flow-icon img {
    width: 48px;
    height: 48px;
}

.asset-page-img .flow-grid h3 {
    font-size: 1.5rem !important;
    line-height: 1;
    color: #d9730f !important;
}

.asset-page-img .flow-grid h4 {
    margin-top: .28rem;
    color: #2b1b16;
}

.asset-page-img .flow-grid p {
    margin-top: .35rem;
    color: #6b5b53;
    line-height: 1.55;
}

.asset-cta-banner {
    width: min(100%, 1540px);
    min-height: 330px;
    margin-inline: auto;
    padding: clamp(2rem, 4vw, 4.3rem);
    border-radius: 28px;
    border: 1px solid rgba(255, 208, 170, .55);
    background:
        linear-gradient(90deg, rgba(117, 18, 15, .90) 0%, rgba(193, 48, 22, .62) 42%, rgba(255, 111, 28, .18) 100%),
        url('img/03/03.png') center/cover no-repeat;
    box-shadow: 0 28px 70px rgba(112, 42, 16, .16);
}

.asset-cta-banner:before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 22px;
    pointer-events: none;
}

.asset-cta-banner h2 {
    max-width: 680px;
    color: #fff;
    /* font-size: clamp(2.4rem, 4.3vw, 5.2rem); */
    line-height: 1.28;
    letter-spacing: .02em;
    text-shadow: 0 10px 28px rgba(69, 15, 10, .28);
}

.asset-cta-banner .btn-outline {
    width: min(100%, 420px);
    margin-top: 2rem !important;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94) !important;
    color: #b3261e;
    box-shadow: 0 18px 36px rgba(95, 24, 10, .18);
}

.asset-cta-banner .btn-outline:hover {
    transform: translateY(-2px);
    background: #fff !important;
    text-decoration: none;
}

@media(max-width:640px) {
    .asset-page-img .flow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
        padding: .7rem;
    }

    .asset-page-img .flow-grid article {
        min-height: 0;
        padding: .95rem .65rem .85rem;
    }

    .asset-page-img .flow-grid .asset-flow-icon {
        width: 58px;
        height: 58px;
        margin-bottom: .5rem;
    }

    .asset-page-img .flow-grid .asset-flow-icon img {
        width: 38px;
        height: 38px;
    }

    .asset-page-img .flow-grid h3 {
        font-size: 1.18rem !important;
    }

    .asset-page-img .flow-grid h4 {
        font-size: .98rem;
        line-height: 1.35;
    }

    .asset-page-img .flow-grid p {
        font-size: .82rem;
        line-height: 1.5;
    }

    .asset-page-img .flow-grid article:last-child:nth-child(odd) {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: 64px auto 1fr;
        align-items: center;
        column-gap: .65rem;
        text-align: left;
    }

    .asset-page-img .flow-grid article:last-child:nth-child(odd) .asset-flow-icon {
        grid-column: 1;
        grid-row: 1/3;
        margin: 0;
    }

    .asset-page-img .flow-grid article:last-child:nth-child(odd) h3 {
        grid-column: 2;
        grid-row: 1;
    }

    .asset-page-img .flow-grid article:last-child:nth-child(odd) h4 {
        grid-column: 3;
        grid-row: 1;
        margin-top: 0;
    }

    .asset-page-img .flow-grid article:last-child:nth-child(odd) p {
        grid-column: 2/4;
        grid-row: 2;
    }

    .asset-cta-banner {
        min-height: 280px;
        border-radius: 22px;
    }

    .asset-cta-banner:before {
        inset: 10px;
        border-radius: 18px;
    }
}

/* Download feature cards: text on top, image full-width at bottom */
.download-feature-grid article {
    display: grid;
    grid-template-rows: auto auto;
    align-content: start;
    min-height: 370px;
    padding: 1.55rem 0 0;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}

.download-feature-grid h3,
.download-feature-grid p {
    padding-inline: 1.55rem;
}

.download-feature-grid h3 {
    order: 1;
}

.download-feature-grid p {
    order: 2;
}

.download-feature-card-1 {
    background-image: url('img/10/10-3-1.png');
}

.download-feature-card-2 {
    background-image: url('img/10/10-3-2.png');
}

.download-feature-card-3 {
    background-image: url('img/10/10-3-3.png');
}

.download-feature-card-4 {
    background-image: url('img/10/10-3-4.png');
}

@media(max-width:760px) {
    .download-feature-grid article {
        min-height: 230px;
        padding-top: 1rem;
        border-radius: 18px;
        background-size: 122% auto;
    }

    .download-feature-grid h3,
    .download-feature-grid p {
        padding-inline: .95rem;
    }

    .download-feature-grid h3 {
        font-size: 1.08rem;
        line-height: 1.25;
    }

    .download-feature-grid p {
        font-size: .86rem;
        line-height: 1.45;
    }
}

/* Disclaimer popup */
body.is-disclaimer-open {
    overflow: hidden
}

.disclaimer-modal[hidden] {
    display: none
}

.disclaimer-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 1.25rem
}

.disclaimer-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 16, 11, .62);
    backdrop-filter: blur(7px)
}

.disclaimer-modal-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 1fr auto auto;
    gap: 1rem;
    width: min(100%, 640px);
    max-height: calc(100vh - 2.5rem);
    padding: 1.8rem;
    border: 1px solid #eadfd5;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fff8f0);
    box-shadow: 0 34px 90px rgba(55, 24, 14, .32)
}

.disclaimer-title {
    color: #64251c;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .04em
}

.disclaimer-body {
    overflow-y: auto;
    max-height: 56vh;
    padding-right: .35rem;
    color: #3a2a24;
    font-size: 1.08rem;
    line-height: 1.85;
    font-weight: 600;
    -webkit-overflow-scrolling: touch
}

.disclaimer-body:focus {
    outline: none
}

.disclaimer-body p {
    margin: 0 0 1rem
}

.disclaimer-body p:last-child {
    margin-bottom: 0
}

.disclaimer-body::-webkit-scrollbar {
    width: 8px
}

.disclaimer-body::-webkit-scrollbar-thumb {
    background: rgba(179, 38, 30, .35);
    border-radius: 8px
}

.disclaimer-body::-webkit-scrollbar-track {
    background: rgba(234, 223, 213, .5);
    border-radius: 8px
}

.disclaimer-hint {
    margin: 0;
    color: #9c6a3f;
    font-size: .98rem;
    font-weight: 700;
    text-align: center
}

.disclaimer-hint-done {
    display: none
}

.disclaimer-modal.is-read .disclaimer-hint-more {
    display: none
}

.disclaimer-modal.is-read .disclaimer-hint-done {
    display: block
}

.disclaimer-accept {
    justify-self: stretch;
    padding: .9rem 1.4rem;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(180deg, var(--red2, #d63b16), var(--red, #b3261e));
    color: #fff;
    font-size: 1.18rem;
    font-weight: 900;
    letter-spacing: .06em;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease
}

.disclaimer-accept:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(179, 38, 30, .32)
}

.disclaimer-accept:disabled {
    background: #c4b6ac;
    opacity: .6;
    cursor: not-allowed
}

@media(max-width:640px) {
    .disclaimer-modal-card {
        padding: 1.4rem;
        max-height: calc(100vh - 1.5rem)
    }

    .disclaimer-body {
        max-height: 50vh;
        font-size: 1rem
    }
}

/* Submit information modal */
body.is-info-modal-open {
    overflow: hidden;
}

.info-modal[hidden] {
    display: none;
}

.info-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.info-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(34, 21, 16, .46);
    backdrop-filter: blur(6px);
}

.info-modal-card {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    display: grid;
    gap: 1rem;
    padding: 2rem;
    border: 1px solid #eadfd5;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fff8f0);
    box-shadow: 0 34px 90px rgba(55, 24, 14, .28);
}

.info-modal-card h2 {
    color: #64251c;
    font-size: 2.2rem;
    font-weight: 900;
}

.info-modal-card label {
    display: grid;
    gap: .45rem;
    color: #4a332c;
    font-weight: 900;
}

.info-modal-card input,
.info-modal-card textarea {
    width: 100%;
    border: 1px solid #ead4c4;
    border-radius: 14px;
    background: #fff;
    padding: .9rem 1rem;
    color: #2b1b16;
    font-weight: 700;
    outline: none;
}

.info-modal-card input:focus,
.info-modal-card textarea:focus {
    border-color: #c02a1d;
    box-shadow: 0 0 0 4px rgba(192, 42, 29, .1);
}

.info-modal-card textarea {
    resize: vertical;
}

.info-modal-card .btn-primary {
    justify-content: center;
}

.info-modal-close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff1e9;
    color: #b3261e;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 900;
}

.info-modal-note {
    min-height: 1.5em;
    color: #b3261e;
    font-weight: 900;
    text-align: center;
}

@media(max-width:640px) {
    .info-modal-card {
        padding: 1.45rem;
        border-radius: 20px;
    }

    .info-modal-card h2 {
        font-size: 1.8rem;
    }
}

/* Real logo and license document image replacement */
.brand-logo-img {
    display: block;
    width: clamp(190px, 18vw, 280px);
    height: auto;
    object-fit: contain;
}

.footer-logo-img {
    display: block;
    width: min(100%, 260px);
    height: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.mobile-panel-head .brand-logo-img {
    width: 190px;
}

.about-img-page .about-license-art {
    height: 250px;
    margin: 0;
    padding: .9rem;
    background: #fff;
}

.about-img-page .about-license-art img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
}

@media(max-width:768px) {
    .brand-logo-img {
        width: 190px;
    }

    .footer-logo-img {
        width: 220px;
    }
}

/* Footer logo visibility fix */
.footer-logo-img {
    filter: none !important;
    width: min(100%, 280px);
    max-height: 76px;
    object-fit: contain;
    object-position: left center;
}

.footer-brand {
    min-height: 76px;
    align-items: center;
}

/* Home advantage cards: use image as full-card background, text on upper blank area */
.mock-page .mock-adv {
    position: relative;
    display: grid;
    grid-template-rows: auto auto 1fr;
    min-height: 400px;
    padding: 2.2rem 1.7rem 0;
    overflow: hidden;
    isolation: isolate;
}

.mock-page .mock-adv .image-card {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    border-radius: inherit;
}

.mock-page .mock-adv .image-card .placeholder-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.mock-page .mock-adv:before {
    content: "";
    position: absolute;
    inset: 0 0 48%;
    z-index: -1;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .90) 58%, rgba(255, 255, 255, .12) 100%);
    pointer-events: none;
}

.mock-page .mock-adv h3 {
    min-height: 0;
    margin: 0;
    color: #2b1b16;
    line-height: 1.25;
}

.mock-page .mock-adv p {
    min-height: 0;
    margin-top: 1.35rem;
    color: #4d3e38;
    line-height: 1.7;
}

@media(max-width:1024px) {
    .mock-page .mock-adv {
        min-height: 460px;
    }
}

@media(max-width:640px) {
    .mock-page .mock-adv {
        min-height: 430px;
        padding: 1.7rem 1.35rem 0;
    }
}

/* QR download enlarge modal */
.qr-placeholder.has-qr,
.download-action-row .download-now,
.download-platform-card .download-qr,
.download-platform-card a[href$="EWM.png"] {
    cursor: zoom-in;
}

.qr-modal[hidden] {
    display: none;
}

.qr-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.qr-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(39, 19, 14, .58);
    backdrop-filter: blur(8px);
}

.qr-modal-card {
    position: relative;
    z-index: 1;
    width: min(92vw, 430px);
    padding: 2rem;
    border: 1px solid rgba(238, 205, 179, .95);
    border-radius: 28px;
    background: linear-gradient(180deg, #fff, #fff8f1);
    box-shadow: 0 32px 90px rgba(39, 19, 14, .26);
    text-align: center;
}

.qr-modal-card h2 {
    margin-top: .25rem;
    color: #241713;
    font-size: 2rem;
    font-weight: 950;
}

.qr-modal-img {
    display: block;
    width: min(100%, 300px);
    height: auto;
    margin: 1.2rem auto .9rem;
    border: 12px solid #fff;
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(77, 36, 18, .13);
}

.qr-modal-caption {
    color: #6a5851;
    line-height: 1.55;
}

.qr-modal-close {
    position: absolute;
    top: .85rem;
    right: .85rem;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #b3261e;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

[data-license-preview] {
    cursor: zoom-in;
}

.license-preview-modal[hidden] {
    display: none;
}

.license-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 125;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.license-preview-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(39, 19, 14, .68);
    backdrop-filter: blur(8px);
}

.license-preview-card {
    position: relative;
    z-index: 1;
    max-width: min(94vw, 1040px);
    max-height: 92vh;
}

.license-preview-img {
    display: block;
    max-width: 100%;
    max-height: 92vh;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 32px 90px rgba(39, 19, 14, .3);
}

.license-preview-close {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #241713;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer;
}

body.is-license-preview-open {
    overflow: hidden;
}

body.is-qr-modal-open {
    overflow: hidden;
}

/* QR modal motion refinement */
.qr-modal {
    animation: qrModalFadeIn .22s ease both;
}

.qr-modal-backdrop {
    animation: qrBackdropIn .24s ease both;
}

.qr-modal-card {
    transform-origin: center;
    animation: qrCardIn .32s cubic-bezier(.16, 1, .3, 1) both;
}

.qr-modal-img {
    animation: qrImagePop .42s cubic-bezier(.16, 1, .3, 1) .06s both;
}

.qr-modal-close,
.qr-modal-card .kicker,
.qr-modal-card h2,
.qr-modal-caption {
    animation: qrContentRise .34s ease .08s both;
}

@keyframes qrModalFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes qrBackdropIn {
    from {
        opacity: 0;
        backdrop-filter: blur(0);
    }

    to {
        opacity: 1;
        backdrop-filter: blur(8px);
    }
}

@keyframes qrCardIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.94);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes qrImagePop {
    from {
        opacity: 0;
        transform: scale(.88) rotate(-1.5deg);
    }

    to {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

@keyframes qrContentRise {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media(prefers-reduced-motion: reduce) {

    .qr-modal,
    .qr-modal-backdrop,
    .qr-modal-card,
    .qr-modal-img,
    .qr-modal-close,
    .qr-modal-card .kicker,
    .qr-modal-card h2,
    .qr-modal-caption {
        animation: none !important;
    }
}

/* License image click-to-enlarge preview */
.about-license-art img {
    cursor: zoom-in;
    transition: transform .22s ease, filter .22s ease;
}

.about-license-art img:hover,
.about-license-art img:focus-visible {
    transform: scale(1.025);
    filter: saturate(1.04) contrast(1.03);
    outline: none;
}

.image-preview-modal[hidden] {
    display: none;
}

.image-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 125;
    display: grid;
    place-items: center;
    padding: 1.2rem;
    animation: qrModalFadeIn .22s ease both;
}

.image-preview-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(39, 19, 14, .68);
    backdrop-filter: blur(8px);
    animation: qrBackdropIn .24s ease both;
}

.image-preview-card {
    position: relative;
    z-index: 1;
    width: min(94vw, 980px);
    max-height: 92vh;
    padding: 1.15rem;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 32px 90px rgba(39, 19, 14, .30);
    animation: qrCardIn .32s cubic-bezier(.16, 1, .3, 1) both;
}

.image-preview-img {
    display: block;
    width: 100%;
    max-height: calc(92vh - 110px);
    object-fit: contain;
    border-radius: 14px;
    background: #fff;
}

.image-preview-caption {
    margin-top: .8rem;
    color: #3a2822;
    font-weight: 900;
    text-align: center;
}

.image-preview-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: #b3261e;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(179, 38, 30, .28);
}

body.is-image-preview-open {
    overflow: hidden;
}

@media(max-width:640px) {
    .image-preview-card {
        width: 96vw;
        padding: .75rem;
        border-radius: 18px;
    }

    .image-preview-close {
        top: .5rem;
        right: .5rem;
    }
}

/* Trading page content specification */
.trade-dynamic-page .mock-section.trade-detail-section {
    /* width: min(100% - 40px, 1280px); */
    margin: 2.2rem auto;
    padding: clamp(2rem, 4vw, 3rem);
    border: 1px solid rgba(234, 210, 188, .92);
    border-radius: 28px;
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 205, 128, .18), transparent 26rem),
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 249, 242, .92));
    box-shadow: 0 24px 64px rgba(77, 36, 18, .075);
}

.trade-dynamic-page .mock-section.trade-detail-section>.mock-heading,
.trade-dynamic-page .mock-section.trade-detail-section>.trade-detail-hero .trade-detail-title-block,
.trade-dynamic-page .mock-section.trade-detail-section>.trade-copy-card:first-child>h2,
.trade-dynamic-page .mock-section.trade-detail-section .futures-copy>h2 {
    display: block;
    width: 100%;
    margin: 0 auto 1.5rem !important;
    text-align: center !important;
}

.trade-dynamic-page .mock-section.trade-detail-section>.mock-heading,
.trade-dynamic-page .trade-detail-title-block h2,
.trade-dynamic-page .mock-section.trade-detail-section>.trade-copy-card:first-child>h2,
.trade-dynamic-page .mock-section.trade-detail-section .futures-copy>h2 {
    color: #572119;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 950;
    letter-spacing: .06em;
}

.trade-dynamic-page .mock-section.trade-detail-section>.mock-heading:after,
.trade-dynamic-page .trade-detail-title-block h2:after,
.trade-dynamic-page .mock-section.trade-detail-section>.trade-copy-card:first-child>h2:after,
.trade-dynamic-page .mock-section.trade-detail-section .futures-copy>h2:after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin: .85rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #b3261e, #f0ae55);
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-subheading,
.trade-dynamic-page .mock-section.trade-detail-section .trade-copy-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .mock-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-hero-card h3 {
    text-align: left !important;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-product-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .trade-benefit-strip h3,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-benefits h4,
.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid h4 {
    text-align: center !important;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-subheading {
    margin: 2rem 0 1rem !important;
    color: #6a2b20;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 950;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-subheading:after {
    margin-left: 0 !important;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-product-grid,
.trade-dynamic-page .mock-section.trade-detail-section .trade-benefit-strip,
.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid,
.trade-dynamic-page .mock-section.trade-detail-section .margin-info-grid,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-benefits {
    gap: 1rem;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid.compact,
.trade-dynamic-page .mock-section.trade-detail-section .margin-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-product-card,
.trade-dynamic-page .mock-section.trade-detail-section .trade-benefit-strip article,
.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid article,
.trade-dynamic-page .mock-section.trade-detail-section .margin-info-grid article,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-benefits article,
.trade-dynamic-page .mock-section.trade-detail-section .trade-copy-card,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-hero-card,
.trade-dynamic-page .mock-section.trade-detail-section .margin-banner,
.trade-dynamic-page .mock-section.trade-detail-section .trade-bullet-list li,
.trade-dynamic-page .mock-section.trade-detail-section .trade-detail-hero>p {
    border: 1px solid rgba(234, 210, 188, .95);
    border-radius: 20px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 14px 36px rgba(77, 36, 18, .055);
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-detail-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
    margin-bottom: 1.2rem;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-detail-hero>p {
    max-width: 920px;
    margin: 0 auto;
    padding: 1.25rem 1.5rem;
    color: #4c3932;
    font-size: 1.08rem;
    line-height: 1.8;
    text-align: left;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-copy-card {
    margin: 1rem 0;
    padding: clamp(1.3rem, 2.5vw, 2rem);
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-copy-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .mock-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-hero-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .trade-product-card h3,
.trade-dynamic-page .mock-section.trade-detail-section .trade-benefit-strip h3,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-benefits h4,
.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid h4 {
    margin-bottom: .65rem;
    color: #64251c;
    font-size: clamp(1.12rem, 1.6vw, 1.35rem);
    font-weight: 950;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-product-card,
.trade-dynamic-page .mock-section.trade-detail-section .trade-benefit-strip article,
.trade-dynamic-page .mock-section.trade-detail-section .ipo-benefits article {
    padding: 1.25rem;
}

.trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid article {
    padding: 1.15rem 1.25rem;
}

.trade-dynamic-page .mock-section.trade-detail-section .futures-copy {
    max-width: none;
    margin: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.trade-dynamic-page .mock-section.trade-detail-section .futures-copy>p {
    margin-bottom: 1rem;
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(234, 210, 188, .95);
    border-radius: 20px;
    background: rgba(255, 255, 255, .84);
}

@media(max-width:1024px) {
    .trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:768px) {
    .trade-dynamic-page .mock-section.trade-detail-section {
        width: min(100% - 24px, 1280px);
        margin: 1.4rem auto;
        padding: 1.35rem;
        border-radius: 22px;
    }

    .trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid,
    .trade-dynamic-page .mock-section.trade-detail-section .trade-feature-grid.compact,
    .trade-dynamic-page .mock-section.trade-detail-section .margin-info-grid {
        grid-template-columns: 1fr;
    }
}

/* Fix region distribution scale card layout */
.about-img-page .scale-grid article:has(> b):has(> em) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    align-items: center;
    gap: .65rem;
    padding: 1.4rem 1.35rem 1.25rem;
}

.about-img-page .scale-grid article:has(> b):has(> em)>p {
    padding: 0;
    margin: 0;
    align-self: start;
}

.about-img-page .scale-grid article:has(> b):has(> em)>b,
.about-img-page .scale-grid article:has(> b):has(> em)>em {
    position: static !important;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.about-img-page .scale-grid article:has(> b):has(> em)>b {
    grid-row: 3;
}

.about-img-page .scale-grid article:has(> b):has(> em)>em {
    grid-row: 4;
}

/* Rebuilt region distribution card */
.about-img-page .scale-grid article.region-card {
    display: grid;
    grid-template-rows: auto minmax(110px, 1fr) auto;
    gap: .7rem;
    padding: 1.4rem 1.25rem 1.2rem;
    min-height: 260px;
    background: linear-gradient(180deg, #fff 0%, #fffaf4 100%);
}

.about-img-page .scale-grid article.region-card>p {
    padding: 0;
    margin: 0;
    color: #3a2822;
    font-weight: 900;
}

.region-chart-wrap {
    display: grid;
    place-items: center;
    min-height: 122px;
    background: url('img/09/09-4-5.png') center center / min(100%, 178px) auto no-repeat;
}

.region-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
}

.region-stats span {
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: .22rem .45rem;
    align-items: center;
    padding: .62rem .7rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, .85);
    box-shadow: inset 0 0 0 1px rgba(232, 213, 196, .92);
}

.region-stats i {
    grid-row: span 2;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #f47a20;
}

.region-stats span:nth-child(2) i {
    background: #ffd37a;
}

.region-stats strong {
    color: #6a4031;
    font-size: .86rem;
    line-height: 1;
}

.region-stats b {
    color: #cf5720;
    font-size: 1.25rem;
    line-height: 1;
}

@media(max-width:640px) {
    .region-stats {
        grid-template-columns: 1fr;
    }
}

/* Homepage restored sections */
#main-content .mock-help .mock-card {
    min-height: 260px;
}

#main-content .help-card-visual {
    position: relative;
    overflow: hidden;
}

#main-content .help-card-visual::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 48%;
    height: 82%;
    background: url('/site-assets/img/06/06-5-1.png') center bottom / contain no-repeat;
    opacity: .72;
    pointer-events: none;
}

#main-content+.site-footer-v2 {
    background: linear-gradient(135deg, #b3261e, #8f1d1c);
    color: #fff;
    margin-top: 0;
    padding-top: 4rem;
}

#main-content+.site-footer-v2 a,
#main-content+.site-footer-v2 h2,
#main-content+.site-footer-v2 p,
#main-content+.site-footer-v2 address {
    color: #fff;
}

#main-content+.site-footer-v2 .footer-bottom-v2 {
    border-top-color: rgba(255, 255, 255, .25);
}

/* A-share title centered layout */
.trade-dynamic-page #a-shares .trade-detail-hero {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 1.45rem;
}

.trade-dynamic-page #a-shares .trade-detail-title-block {
    display: grid;
    justify-items: center;
}

.trade-dynamic-page #a-shares .trade-detail-hero .kicker {
    justify-content: center;
}

.trade-dynamic-page #a-shares .trade-detail-hero h2 {
    max-width: 720px;
    text-align: center;
}

.trade-dynamic-page #a-shares .trade-detail-hero>p.a-share-summary {
    width: min(100%, 920px);
    margin: 0 auto;
    padding: 1.25rem 1.8rem;
    border-left: 0;
    border-top: 4px solid #d95728;
    border-radius: 18px;
    text-align: left;
}

/* Unified trading detail modules */
.trade-dynamic-page .trade-unified-section {
    display: grid;
    gap: 2.35rem;
    padding: clamp(2.6rem, 5vw, 4.2rem) clamp(1.35rem, 4vw, 3rem);
    border: 1px solid rgba(218, 126, 72, .32);
    border-radius: 28px;
    background:
        radial-gradient(circle at 86% 8%, rgba(231, 157, 78, .16), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 251, 246, .86));
    box-shadow: 0 24px 64px rgba(77, 36, 18, .08);
}

.trade-dynamic-page .trade-unified-section .trade-detail-hero {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.45rem;
    max-width: none;
    margin: 0;
    text-align: center;
}

.trade-dynamic-page .trade-unified-section .trade-detail-title-block {
    display: grid;
    justify-items: center;
}

.trade-dynamic-page .trade-unified-section .trade-detail-hero h2 {
    margin: 0;
    color: #5a211b;
    font-size: clamp(2.9rem, 5vw, 5rem);
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center;
    font-size: 50px;
}

.trade-dynamic-page .trade-unified-section .trade-detail-hero h2:after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin: 1rem auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #c83520, #e7a14d);
}

.trade-dynamic-page .trade-unified-section .trade-detail-hero>p,
.trade-dynamic-page .trade-unified-section .trade-detail-hero>p.trade-section-summary,
.trade-dynamic-page .trade-unified-section .trade-detail-hero>p.a-share-summary {
    width: min(100%, 690px);
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #4a3a35;
    font-size: .95rem;
    line-height: 1.7;
    text-align: center;
    box-shadow: none;
}

.trade-dynamic-page .trade-unified-section .trade-copy-card {
    width: 100%;
    margin: 0;
    padding: 1.55rem 1.75rem;
    border-radius: 20px;
}

.trade-dynamic-page .trade-unified-section .trade-subheading {
    margin: .35rem 0 0;
    color: #6a2b22;
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
    text-align: left;
}

.trade-dynamic-page .trade-unified-section .trade-subheading:after {
    margin-left: 0;
}

.trade-dynamic-page .trade-unified-section .unified-grid {
    width: min(100%, 760px);
    margin-inline: auto;
}

.trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid,
.trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid,
.trade-dynamic-page .trade-unified-section .margin-info-grid.unified-grid,
.trade-dynamic-page .trade-unified-section .ipo-benefits.unified-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid {
    width: min(100%, 1080px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trade-dynamic-page .trade-unified-section .ipo-benefits.unified-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trade-dynamic-page .trade-unified-section .ipo-benefits img {
    width: 120px;
    height: 120px;
}

.trade-dynamic-page .trade-unified-section .trade-benefit-strip.unified-grid.five-col {
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .9rem;
}

.trade-dynamic-page .trade-unified-section .trade-benefit-strip article {
    grid-template-rows: 108px 1fr;
    align-content: start;
    min-height: 190px;
    padding: 1.35rem .9rem;
}

.trade-dynamic-page .trade-unified-section .trade-benefit-strip img {
    width: 104px;
    height: 104px;
    align-self: center;
}

.trade-dynamic-page .trade-unified-section .trade-benefit-strip h3 {
    display: grid;
    align-items: start;
    margin-top: .85rem;
}

.trade-dynamic-page .trade-unified-section .trade-bullet-list.unified-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.trade-dynamic-page .trade-unified-section .trade-product-card,
.trade-dynamic-page .trade-unified-section .trade-feature-grid article,
.trade-dynamic-page .trade-unified-section .margin-info-grid article,
.trade-dynamic-page .trade-unified-section .ipo-benefits article,
.trade-dynamic-page .trade-unified-section .trade-bullet-list li {
    min-height: 128px;
    border-color: rgba(218, 126, 72, .34);
    border-radius: 16px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 16px 38px rgba(77, 36, 18, .06);
}

.trade-dynamic-page .trade-unified-section .trade-feature-grid article,
.trade-dynamic-page .trade-unified-section .margin-info-grid article,
.trade-dynamic-page .trade-unified-section .ipo-benefits article {
    align-items: center;
}

.trade-dynamic-page .trade-unified-section .trade-feature-grid article {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
}

.trade-dynamic-page .trade-unified-section .trade-product-card h3,
.trade-dynamic-page .trade-unified-section .trade-benefit-strip h3,
.trade-dynamic-page .trade-unified-section .trade-feature-grid h4,
.trade-dynamic-page .trade-unified-section .margin-info-grid h3,
.trade-dynamic-page .trade-unified-section .ipo-benefits h4,
.trade-dynamic-page .trade-unified-section .trade-bullet-list strong {
    color: #772d25;
}

@media(max-width: 1180px) {
    .trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid {
        width: min(100%, 760px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trade-dynamic-page .trade-unified-section .ipo-benefits.unified-grid {
        width: min(100%, 760px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trade-dynamic-page .trade-unified-section .trade-benefit-strip.unified-grid.five-col {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media(max-width: 768px) {
    .trade-dynamic-page .trade-unified-section {
        gap: 1.6rem;
        padding: 2rem 1rem;
        border-radius: 22px;
    }

    .trade-dynamic-page .trade-unified-section .trade-detail-hero h2 {
        font-size: clamp(2.25rem, 12vw, 3.2rem);
        letter-spacing: .02em;
    }

    .trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid,
    .trade-dynamic-page .trade-unified-section .margin-info-grid.unified-grid,
    .trade-dynamic-page .trade-unified-section .ipo-benefits.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-bullet-list.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-benefit-strip.unified-grid.five-col {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

/* Trading product grids use three columns */
.trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid {
    width: min(100%, 920px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media(max-width: 1024px) {
    .trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid {
        width: min(100%, 720px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width: 768px) {
    .trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

/* Trading unified content fills container */
.trade-dynamic-page .trade-unified-section .trade-copy-card,
.trade-dynamic-page .trade-unified-section .unified-grid,
.trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid {
    width: 100%;
    max-width: none;
}

.trade-dynamic-page .trade-unified-section .trade-copy-card {
    padding: clamp(1.45rem, 2.5vw, 2rem) clamp(1.55rem, 3vw, 2.35rem);
}

.trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Help FAQ filters */
.help-page-img .faq-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
}

.help-page-img .faq-head h2 {
    flex: 0 0 auto;
    margin-bottom: 0;
}

.help-page-img .faq-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    flex: 1 1 auto;
}

.help-page-img .faq-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
}

.help-page-img .faq-filters button {
    border: 1px solid #ead7c8;
    border-radius: 999px;
    background: #fff;
    color: #7b2419;
    padding: .55rem 1rem;
    font-weight: 800;
    transition: all .2s ease;
}

.help-page-img .faq-filters button.active,
.help-page-img .faq-filters button:hover {
    background: linear-gradient(135deg, #be2a1f, #e05b1d);
    color: #fff;
    border-color: transparent;
}

.help-page-img .faq-search {
    flex: 0 1 280px;
}

.help-page-img .faq-search input {
    width: 100%;
    border: 1px solid #ead7c8;
    border-radius: 999px;
    background: #fffaf5;
    padding: .85rem 1.2rem;
    color: #4a2d24;
    font-size: 1rem;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.help-page-img .faq-search input:focus {
    border-color: #be2a1f;
    box-shadow: 0 0 0 4px rgba(190, 42, 31, .1);
}

@media(max-width: 768px) {
    .help-page-img .faq-head {
        display: grid;
    }

    .help-page-img .faq-tools {
        display: grid;
        justify-content: stretch;
    }

    .help-page-img .faq-search {
        width: 100%;
    }

    .help-page-img .faq-filters {
        justify-content: flex-start;
    }
}

/* Normalize non-home hero heights to promotions hero */
.trade-dynamic-page .trading-hero-img,
.asset-page-img .asset-hero-img,
.fees-page-img .fees-hero-img,
.help-page-img .help-hero-img,
.guoxin-img-page .guoxin-hero-img,
.funds-img-page .funds-hero-img,
.about-img-page .about-hero-img,
.download-img-page .download-hero-img,
.download-redesign .download-rd-hero,
.institution-redesign .institution-rd-hero,
.professional-hero {
    min-height: 600px !important;
}

.legal-layout {
    padding: 3rem 0 4.5rem;
}

.legal-content-card {
    max-width: 960px;
    margin: 0 auto;
}

.legal-content-card h2 {
    margin-top: 1.6rem;
    color: #7b261f;
}

.legal-content-card p,
.legal-content-card li {
    color: #4f4038;
    line-height: 1.9;
}

.sitemap-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .85rem;
    margin: 1rem 0 2rem;
    padding: 0;
    list-style: none;
}

.sitemap-links a {
    display: block;
    padding: .9rem 1rem;
    border: 1px solid #f0ded0;
    border-radius: 14px;
    background: #fffaf4;
    color: #8b2b23;
    font-weight: 800;
}

@media(max-width:768px) {
    .legal-page:not(.sitemap-page) .legal-hero>.container,
    .legal-page:not(.sitemap-page) .legal-layout,
    .sitemap-page .legal-hero>.container,
    .sitemap-page .legal-layout {
        width: min(100% - 2rem, 1180px);
        margin-inline: auto;
    }

    .legal-page:not(.sitemap-page) .legal-layout,
    .sitemap-page .legal-layout {
        padding: 2rem 0 3rem;
    }

    .legal-page:not(.sitemap-page) .legal-content-card,
    .sitemap-page .sitemap-card {
        padding: 1.25rem;
        border-radius: 18px;
    }

    .legal-page:not(.sitemap-page) .legal-content-card h2,
    .sitemap-page .legal-content-card h2 {
        margin-top: 1rem;
    }

    .sitemap-page .sitemap-links {
        grid-template-columns: 1fr;
        gap: .75rem;
        margin-bottom: 1.5rem;
    }
}

@media(max-width:768px) {

    header.is-mobile-menu-open .mobile-panel,
    body.is-mobile-menu-open .mobile-panel,
    .menu-toggle:checked~.mobile-panel {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }

    header.is-mobile-menu-open .mobile-panel-head,
    body.is-mobile-menu-open .mobile-panel-head,
    .menu-toggle:checked~.mobile-panel .mobile-panel-head {
        display: flex !important;
    }

    header.is-mobile-menu-open .mobile-nav-menu,
    body.is-mobile-menu-open .mobile-nav-menu,
    .menu-toggle:checked~.mobile-panel .mobile-nav-menu {
        display: grid !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .mobile-panel-head label,
    .mobile-panel-head button {
        position: relative;
        z-index: 5;
        cursor: pointer;
        pointer-events: auto;
    }
}

@media(max-width:768px) {
    header .mobile-panel {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9998 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        padding: 1rem 1rem 2rem !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        background: radial-gradient(circle at 88% 8%, rgba(255, 204, 117, .32), transparent 30%), linear-gradient(145deg, #fffaf4, #fff2e7 55%, #fff) !important;
        box-shadow: 0 20px 60px rgba(69, 24, 12, .18);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px) scale(.98);
    }

    header.is-mobile-menu-open .mobile-panel,
    body.is-mobile-menu-open header .mobile-panel,
    header .menu-toggle:checked~.mobile-panel {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    header .mobile-panel-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
        min-height: 58px;
        padding: .35rem 0 1rem !important;
        margin-bottom: .4rem;
        background: linear-gradient(180deg, #fffaf4 72%, rgba(255, 250, 244, 0)) !important;
    }

    header .mobile-nav-menu {
        position: relative !important;
        z-index: 9999 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        padding: .5rem 0 2.5rem !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
    }

    header .mobile-nav-menu>a,
    header .mobile-subnav summary {
        display: flex !important;
        min-height: 54px;
        width: 100%;
    }
}

@media(max-width:768px) {
    .mobile-menu-backdrop {
        position: fixed;
        inset: 0;
        z-index: 9997;
        border: 0;
        padding: 0;
        background: rgba(34, 16, 12, .42);
        backdrop-filter: blur(6px);
        opacity: 0;
        transition: opacity .22s ease;
    }

    header.is-mobile-menu-open .mobile-menu-backdrop {
        display: block !important;
        opacity: 1;
    }

    header .mobile-panel {
        inset: 0 0 0 auto !important;
        width: min(88vw, 380px) !important;
        height: 100dvh !important;
        border-left: 1px solid rgba(179, 38, 30, .1);
        border-radius: 24px 0 0 24px;
        transform: translateX(104%) !important;
        transition: transform .26s ease, opacity .2s ease, visibility .2s ease !important;
    }

    header.is-mobile-menu-open .mobile-panel,
    body.is-mobile-menu-open header .mobile-panel,
    header .menu-toggle:checked~.mobile-panel {
        transform: translateX(0) !important;
    }

    header .mobile-panel-head {
        padding-top: .15rem !important;
    }

    header .mobile-nav-menu {
        align-content: start;
    }

    header .mobile-nav-menu>a,
    header .mobile-subnav summary,
    header .mobile-subnav div a {
        transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
    }

    header .mobile-nav-menu>a:active,
    header .mobile-subnav summary:active,
    header .mobile-subnav div a:active {
        transform: scale(.985);
    }
}

@media(max-width:768px) {
    .mobile-panel-head button {
        appearance: none !important;
        -webkit-appearance: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #b3261e !important;
        color: #fff !important;
        font-size: 30px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        text-align: center !important;
        cursor: pointer;
    }
}

@media(max-width:768px) {
    body>.mobile-panel {
        position: fixed !important;
        inset: 0 0 0 auto !important;
        z-index: 9998 !important;
        display: block !important;
        width: min(88vw, 390px) !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        padding: 1rem 1rem 2rem !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        border-left: 1px solid rgba(179, 38, 30, .1);
        border-radius: 24px 0 0 24px;
        background: radial-gradient(circle at 88% 8%, rgba(255, 204, 117, .32), transparent 30%), linear-gradient(145deg, #fffaf4, #fff2e7 55%, #fff) !important;
        box-shadow: 0 20px 60px rgba(69, 24, 12, .18);
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(104%) !important;
        transition: transform .26s ease, opacity .2s ease, visibility .2s ease !important;
    }

    body.is-mobile-menu-open>.mobile-panel {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
    }

    body>.mobile-panel .mobile-panel-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10000 !important;
        min-height: 58px;
        padding: .35rem 0 1rem !important;
        margin-bottom: .4rem;
        background: linear-gradient(180deg, #fffaf4 72%, rgba(255, 250, 244, 0)) !important;
    }

    body>.mobile-panel .mobile-nav-menu {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        width: 100% !important;
        height: auto !important;
        padding: .5rem 0 2.5rem !important;
    }
}

body>.mobile-panel {
    display: none !important;
}

@media(max-width:768px) {
    body>.mobile-panel {
        display: block !important;
    }
}

@media(max-width:768px) {
    .mobile-panel-head button[aria-label] {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #b3261e !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        box-sizing: border-box !important;
    }

    .mobile-panel-head button[aria-label]::before,
    .mobile-panel-head button[aria-label]::after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: 18px;
        height: 2.5px;
        border-radius: 999px;
        background: #fff;
        transform-origin: center;
    }

    .mobile-panel-head button[aria-label]::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .mobile-panel-head button[aria-label]::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}

@media(max-width:768px) {
    body>.mobile-panel {
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 1rem 1rem calc(2rem + env(safe-area-inset-bottom)) !important;
        border-left: 0 !important;
        border-radius: 0 !important;
        transform: translateX(100%) !important;
    }

    body.is-mobile-menu-open>.mobile-panel {
        transform: translateX(0) !important;
    }

    body>.mobile-panel .mobile-panel-head {
        padding-inline: 0 !important;
    }
}

.trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid {
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.trade-dynamic-page .trade-unified-section .trade-feature-grid.compact.unified-grid,
.trade-dynamic-page .trade-unified-section .margin-info-grid.unified-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media(max-width:1180px) {
    .trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media(max-width:768px) {
    .trade-dynamic-page .trade-unified-section .trade-product-grid.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-benefit-strip.unified-grid.five-col,
    .trade-dynamic-page .trade-unified-section .ipo-benefits.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-feature-grid.unified-grid,
    .trade-dynamic-page .trade-unified-section .trade-feature-grid.compact.unified-grid,
    .trade-dynamic-page .trade-unified-section .margin-info-grid.unified-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .85rem;
    }
}

@media(max-width:640px) {
    .trade-dynamic-page .trading-hero-img+.mock-section {
        width: min(100% - 24px, 1180px);
        margin-top: -2.2rem;
        padding: 1rem .75rem 0 !important;
        border-radius: 24px 24px 0 0;
        background: linear-gradient(180deg, rgba(255, 250, 245, .95), rgba(255, 255, 255, .72));
    }

    .trade-dynamic-page .trade-market-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
        width: 100%;
        padding: .3rem;
        border-radius: 22px;
        background: transparent;
        box-shadow: none;
    }

    .trade-dynamic-page .trade-market-tabs .mock-product {
        grid-template-columns: 48px 1fr;
        min-height: 104px;
        padding: .95rem .85rem;
        border: 1px solid rgba(225, 192, 166, .65);
        border-radius: 18px;
        background: rgba(255, 255, 255, .88);
        box-shadow: 0 10px 24px rgba(77, 36, 18, .06);
    }

    .trade-dynamic-page .trade-market-tabs .mock-product.is-active {
        border-color: rgba(179, 38, 30, .45);
        background: linear-gradient(180deg, #fff, #fff7ef);
        box-shadow: 0 12px 28px rgba(179, 38, 30, .1);
    }

    .trade-dynamic-page .trade-img-icon {
        width: 46px;
        height: 46px;
    }

    .trade-dynamic-page .trade-market-tabs h2 {
        font-size: 1.22rem;
        line-height: 1.2;
    }

    .trade-dynamic-page .trade-market-tabs p {
        margin-top: .2rem;
        font-size: .88rem;
        line-height: 1.45;
    }

    .trade-dynamic-page .trade-market-tabs+.text-center {
        margin-top: 1.2rem !important;
        font-size: 1.15rem !important;
        letter-spacing: .08em;
    }
}

@media(max-width:640px) {
    .funds-img-page .funds-hero-img {
        width: 100%;
        margin-inline: 0;
    }

    .funds-img-page .funds-hero-img+.dv-section,
    .funds-img-page .funds-hero-img+.dv-section~.dv-section {
        width: calc(100% - 24px);
        margin-inline: auto;
    }

    .about-img-page {
        padding-inline: 12px;
    }

    .about-img-page .about-hero-img,
    .about-img-page .about-hero-img .dv-hero-grid {
        min-height: 155px;
        background-position: 46% top;
    }

    .about-img-page .about-hero-img {
        width: 100%;
        margin-inline: 0;
        border-radius: 0 0 18px 18px;
    }

    .about-img-page .about-hero-img .dv-hero-grid {
        padding: 1.25rem 1rem 2rem;
    }

    .about-img-page .dv-hero-copy h1 {
        font-size: clamp(2.45rem, 13vw, 3.25rem);
        line-height: 1.08;
    }

    .about-img-page .dv-lead {
        font-size: 1.05rem;
        line-height: 1.65;
    }

    .about-img-page .dv-desc {
        font-size: .96rem;
        line-height: 1.85;
    }

    .about-img-page .dv-section {
        width: 100%;
        margin-inline: auto;
        padding-top: 2rem;
    }

    .about-img-page .dv-title {
        margin-bottom: 1.45rem;
        font-size: 1.9rem;
        line-height: 1.2;
        letter-spacing: .08em;
    }

    .about-img-page .about-overview-grid {
        gap: 1.15rem;
    }

    .about-img-page .about-overview-grid,
    .about-img-page .about-business-section,
    .about-img-page .license-grid,
    .about-img-page .scale-grid {
        width: 100%;
    }

    .about-img-page .about-intro {
        min-height: 0;
        padding: 1.5rem 1.35rem 8.5rem;
        border-radius: 18px;
        background-position: right .35rem bottom .25rem !important;
        background-size: 178px auto !important;
    }

    .about-img-page .about-intro p {
        max-width: 100%;
        font-size: 1rem;
        line-height: 1.85;
    }

    .about-img-page .timeline-card {
        padding: 1.15rem 1rem;
        border-radius: 18px;
    }

    .about-img-page .timeline-item {
        position: relative;
        grid-template-columns: 84px minmax(0, 1fr) 72px !important;
        gap: .8rem;
        align-items: center;
        min-height: 116px;
        padding: 1rem 0;
    }

    .about-img-page .timeline-item:before {
        left: 40px;
        top: 4.4rem;
        bottom: -1rem;
    }

    .about-img-page .timeline-item b {
        padding-left: 0;
        font-size: 1.55rem;
        line-height: 1;
        text-align: center;
    }

    .about-img-page .timeline-item span {
        min-width: 0;
        color: #4c3d38;
        font-size: .92rem;
        line-height: 1.55;
    }

    .about-img-page .timeline-item strong {
        display: block;
        margin-bottom: .2rem;
        color: #b3261e;
        font-size: 1rem;
    }

    .about-img-page .about-timeline-art {
        width: 68px;
        max-height: 68px;
        justify-self: end;
    }

    .about-img-page .about-business-section {
        padding-top: 2.25rem;
    }

    .about-img-page .about-business-head {
        margin-bottom: 1.2rem;
    }

    .about-img-page .about-business-head>p:not(.kicker) {
        font-size: .98rem;
        line-height: 1.75;
    }

    .about-img-page .about-market-grid,
    .about-img-page .about-wealth-layout {
        gap: .95rem;
    }

    .about-img-page .about-market-card,
    .about-img-page .about-text-card,
    .about-img-page .about-feature-panel,
    .about-img-page .about-trust-panel {
        min-height: 0;
        padding: 1.25rem;
        border-radius: 18px;
    }

    .about-img-page .about-market-card h3,
    .about-img-page .about-feature-panel h3,
    .about-img-page .about-text-card h3,
    .about-img-page .about-trust-panel h3 {
        font-size: 1.45rem;
    }

    .about-img-page .about-market-card p,
    .about-img-page .about-feature-panel p,
    .about-img-page .about-text-card p,
    .about-img-page .about-trust-panel p {
        font-size: .96rem;
        line-height: 1.68;
    }

    .about-img-page .license-grid,
    .about-img-page .scale-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .9rem;
    }
}
/* Unified banner title hierarchy */
.mock-hero .mock-subtitle,
.mock-hero .mock-text,
.dv-hero .dv-hero-copy h2,
.dv-hero .dv-hero-copy>p:not(.kicker),
.institution-hero .institution-hero-copy h2,
.institution-hero .institution-hero-copy>p:not(.kicker),
.professional-hero>div>p:not(.kicker),
.promo-detail-hero>div>p:not(.kicker),
.trade-detail-hero>p:not(.kicker) {
    font-size: clamp(1.25rem, 1.45vw, 1.75rem);
    line-height: 1.65;
    font-weight: 700;
}

.mock-hero .mock-subtitle {
    white-space: nowrap;
    font-weight: 600;
    letter-spacing: .1em
}

@media(max-width:768px) {
    .mock-hero .mock-subtitle {
        letter-spacing: .06em
    }
}

.mock-hero .mock-text,
.dv-hero .dv-hero-copy>p:not(.kicker),
.institution-hero .institution-hero-copy>p:not(.kicker),
.professional-hero>div>p:not(.kicker),
.promo-detail-hero>div>p:not(.kicker),
.trade-detail-hero>p:not(.kicker) {
    margin-top: .35rem;
}

@media(max-width:768px) {
    .mock-hero .mock-subtitle,
    .mock-hero .mock-text,
    .dv-hero .dv-hero-copy h2,
    .dv-hero .dv-hero-copy>p:not(.kicker),
    .institution-hero .institution-hero-copy h2,
    .institution-hero .institution-hero-copy>p:not(.kicker),
    .professional-hero>div>p:not(.kicker),
    .promo-detail-hero>div>p:not(.kicker),
    .trade-detail-hero>p:not(.kicker) {
        font-size: clamp(1.05rem, 4vw, 1.35rem);
        line-height: 1.55;
    }
}

/* Unified body copy size */
#main-content p:not(.kicker):not(.mock-subtitle):not(.mock-text),
#main-content li,
#main-content td,
#main-content th,
#main-content dd,
#main-content .mock-card p,
#main-content .trade-copy-card p,
#main-content .trade-section-summary,
#main-content .fee-table td,
#main-content .fee-table th {
    font-size: 1.25rem;
    line-height: 1.75;
}

#main-content .mock-hero .mock-subtitle,
#main-content .mock-hero .mock-text,
#main-content .dv-hero .dv-hero-copy h2,
#main-content .dv-hero .dv-hero-copy>p:not(.kicker),
#main-content .institution-hero .institution-hero-copy h2,
#main-content .institution-hero .institution-hero-copy>p:not(.kicker),
#main-content .professional-hero>div>p:not(.kicker),
#main-content .promo-detail-hero>div>p:not(.kicker),
#main-content .trade-detail-hero>p:not(.kicker) {
    font-size: clamp(1.25rem, 1.45vw, 1.75rem);
    line-height: 1.65;
    font-weight: 700;
}

