/**
 * TCC Web 2.7.1 · Casillero China C01
 * All page-specific selectors are scoped to .tcc-c01-v2.
 */

.tcc-c01-v2 {
    --c01-red: #d52229;
    --c01-red-dark: #ad171c;
    --c01-ink: #111;
    --c01-muted: #5f6268;
    --c01-soft: #f4f4f2;
    --c01-line: #dededb;
    color: var(--c01-ink);
    overflow: clip;
    text-align: left;
    word-spacing: normal;
}

.tcc-c01-v2 * { box-sizing: border-box; }
.tcc-c01-v2 :where(section[id]) { scroll-margin-top: 118px; }
.tcc-c01-v2 :where(h1, h2, h3, p, ul, ol, figure) { margin-top: 0; }
.tcc-c01-v2 :where(h1, h2, h3) {
    color: var(--c01-ink);
    line-height: 1.06;
    text-wrap: balance;
}
.tcc-c01-v2 h2 { max-width: 830px; font-size: clamp(2.15rem, 4vw, 3.55rem); }
.tcc-c01-v2 h3 { font-size: 1.22rem; }
.tcc-c01-v2 p { color: var(--c01-muted); }
.tcc-c01-v2 img { max-width: 100%; }
.tcc-c01-v2 a:focus-visible,
.tcc-c01-v2 summary:focus-visible {
    outline: 3px solid #2f6fed;
    outline-offset: 4px;
}

.tcc-c01-eyebrow {
    margin-bottom: 16px;
    color: var(--c01-red) !important;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .15em;
    line-height: 1.4;
}

.tcc-c01-section { padding-block: 82px; }
.tcc-c01-section--soft { background: var(--c01-soft); }
.tcc-c01-section--dark { color: #fff; background: #111; }
.tcc-c01-section--dark :where(h2, h3) { color: #fff; }
.tcc-c01-section--dark p { color: #c9c9c9; }
.tcc-c01-section--red { color: #fff; background: var(--c01-red); }
.tcc-c01-section--red :where(h2, h3),
.tcc-c01-section--red .tcc-c01-eyebrow { color: #fff !important; }
.tcc-c01-section--red p { color: rgba(255, 255, 255, .86); }

.tcc-c01-heading { max-width: 900px; margin-bottom: 44px; }
.tcc-c01-heading > p:not(.tcc-c01-eyebrow) { max-width: 760px; margin-bottom: 0; font-size: 17px; line-height: 1.7; }
.tcc-c01-heading--split { display: grid; max-width: none; grid-template-columns: 1fr minmax(330px, .72fr); gap: 70px; align-items: end; }
.tcc-c01-heading--split > div > p:not(.tcc-c01-eyebrow) { line-height: 1.7; }

.tcc-c01-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 30px; }
.tcc-c01-text-link { display: inline-flex; gap: 9px; align-items: center; color: var(--c01-red); font-weight: 800; text-decoration: none; }
.tcc-c01-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.tcc-c01-centered-action { display: flex; justify-content: center; margin-top: 30px; }
.tcc-c01-caveat { margin-top: 24px !important; padding: 18px 20px; color: var(--c01-ink) !important; background: #fff; border-left: 4px solid var(--c01-red); }
.tcc-c01-section--dark .tcc-c01-caveat { color: #eee !important; background: #202020; }

.tcc-c01-hero { padding-block: 72px 64px; background: linear-gradient(135deg, #f3f3f1 0%, #fff 54%, #f7e9e9 100%); }
.tcc-c01-hero__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(440px, 1fr); gap: 64px; align-items: center; }
.tcc-c01-hero__copy h1 { max-width: 780px; margin-bottom: 24px; color: #111; font-size: clamp(3rem, 5.5vw, 5.25rem); letter-spacing: -.045em; }
.tcc-c01-hero__copy > p:not(.tcc-c01-eyebrow) { max-width: 680px; margin-bottom: 0; color: #30343a; font-size: 18px; line-height: 1.7; }
.tcc-c01-hero .tcc-c01-eyebrow { color: var(--c01-red-dark) !important; }
.tcc-c01-hero .tcc-hv2-button--primary:hover { background: var(--c01-red-dark); border-color: var(--c01-red-dark); }
.tcc-c01-hero .tcc-hv2-button--secondary:hover { color: #111 !important; background: #f7f7f7; border-color: #111; }
.tcc-c01-trust { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 30px 0 0; padding: 20px 0 0; border-top: 1px solid #d8d8d5; list-style: none; }
.tcc-c01-trust li { position: relative; padding-left: 16px; color: #30343a; font-size: 13px; font-weight: 750; }
.tcc-c01-trust li::before { content: ""; position: absolute; top: .48em; left: 0; width: 7px; height: 7px; background: var(--c01-red); border-radius: 50%; }
.tcc-c01-hero__media { position: relative; margin: 0; padding: 0 0 24px 24px; }
.tcc-c01-hero__media::before { content: ""; position: absolute; inset: 24px 24px 0 0; background: var(--c01-red); }
.tcc-c01-hero__media picture { position: relative; display: block; }
.tcc-c01-hero__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.tcc-c01-hero__media figcaption { position: relative; margin: 12px 24px 0 0; color: #fff; font-size: 12px; font-weight: 650; }

.tcc-c01-subnav { position: sticky; top: 0; z-index: 16; background: #fff; border-block: 1px solid var(--c01-line); }
.tcc-c01-subnav .tcc-hv2-wrap { display: flex; gap: 32px; overflow-x: auto; scrollbar-width: thin; }
.tcc-c01-subnav a { flex: 0 0 auto; padding-block: 17px; color: #292b2e; font-size: 13px; font-weight: 750; text-decoration: none; }
.tcc-c01-subnav a:hover { color: var(--c01-red); }

.tcc-c01-marketplaces { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.tcc-c01-marketplace-card { display: grid; min-width: 0; min-height: 150px; margin: 0; padding: 20px 16px 18px; grid-template-rows: minmax(72px, 1fr) auto; gap: 13px; place-items: center; color: #1e2023; text-align: center; background: var(--c01-soft); border: 1px solid var(--c01-line); }
.tcc-c01-marketplace-logo { display: flex; width: 100%; min-width: 0; min-height: 72px; align-items: center; justify-content: center; }
.tcc-c01-marketplace-logo img { display: block; width: auto; max-width: min(132px, 100%); height: auto; max-height: 58px; object-fit: contain; }
.tcc-c01-marketplace-card strong { overflow-wrap: anywhere; color: #1e2023; font-size: clamp(.98rem, 1.5vw, 1.18rem); font-weight: 850; line-height: 1.2; }
.tcc-c01-marketplace-card--1688 .tcc-c01-marketplace-logo img { max-height: 64px; }
.tcc-c01-marketplace-card--direct .tcc-c01-marketplace-logo img { max-height: 54px; }
.tcc-c01-market-note { display: flex; gap: 28px; justify-content: space-between; align-items: center; margin-top: 24px; padding: 20px 22px; border-left: 4px solid var(--c01-red); }
.tcc-c01-market-note p { max-width: 700px; margin-bottom: 0; font-size: 13px; }

.tcc-c01-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 36px; padding: 0; list-style: none; }
.tcc-c01-steps li { position: relative; min-height: 245px; padding: 28px 25px; background: #1d1d1d; border-top: 4px solid var(--c01-red); }
.tcc-c01-steps li > span { display: block; margin-bottom: 36px; color: #f05a5e; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.tcc-c01-steps img { position: absolute; top: 24px; right: 24px; width: 30px; height: 30px; filter: brightness(0) invert(1); opacity: .88; }
.tcc-c01-steps h3 { margin-bottom: 12px; }
.tcc-c01-steps p { margin-bottom: 0; font-size: 14px; line-height: 1.6; }
.tcc-c01-process-media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tcc-c01-process-media figure { margin: 0; overflow: hidden; background: #1d1d1d; }
.tcc-c01-process__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.tcc-c01-process-media figcaption { padding: 12px 15px; color: #c9c9c9; font-size: 12px; }

.tcc-c01-address { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .72fr); gap: 74px; align-items: center; }
.tcc-c01-address h2 { margin-bottom: 24px; }
.tcc-c01-address > div > p:not(.tcc-c01-eyebrow) { max-width: 720px; font-size: 17px; line-height: 1.7; }
.tcc-c01-security-card { padding: 38px; color: #fff; background: #171717; border-top: 5px solid var(--c01-red); }
.tcc-c01-security-card > span { display: grid; width: 74px; height: 74px; margin-bottom: 42px; place-items: center; color: #fff; font-weight: 900; letter-spacing: .08em; background: var(--c01-red); border-radius: 50%; }
.tcc-c01-security-card h3 { color: #fff; font-size: 1.7rem; }
.tcc-c01-security-card p { color: #c9c9c9; line-height: 1.65; }
.tcc-c01-security-card strong { display: block; padding-top: 18px; color: #fff; border-top: 1px solid #3d3d3d; font-size: 13px; line-height: 1.55; }

.tcc-c01-consolidation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(410px, .8fr); gap: 70px; align-items: center; }
.tcc-c01-consolidation h2 { margin-bottom: 22px; }
.tcc-c01-consolidation > div > p:not(.tcc-c01-eyebrow) { max-width: 700px; line-height: 1.7; }
.tcc-c01-mini-flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tcc-c01-mini-flow li { min-height: 155px; padding: 22px; background: #fff; border: 1px solid var(--c01-line); }
.tcc-c01-mini-flow span { display: grid; width: 30px; height: 30px; margin-bottom: 22px; place-items: center; color: #fff; font-size: 12px; font-weight: 850; background: var(--c01-red); }
.tcc-c01-mini-flow strong, .tcc-c01-mini-flow small { display: block; }
.tcc-c01-mini-flow small { margin-top: 6px; color: var(--c01-muted); line-height: 1.45; }

.tcc-c01-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.tcc-c01-platform-card { overflow: hidden; background: #fff; border: 1px solid var(--c01-line); }
.tcc-c01-platform-card summary { cursor: zoom-in; list-style: none; }
.tcc-c01-platform-card summary::-webkit-details-marker { display: none; }
.tcc-c01-platform-card summary > img { display: block; width: 100%; aspect-ratio: 977 / 957; object-fit: contain; object-position: top center; background: #f7f7f7; }
.tcc-c01-platform-card summary > span { display: block; padding: 22px; }
.tcc-c01-platform-card summary strong,
.tcc-c01-platform-card summary small,
.tcc-c01-platform-card summary b { display: block; }
.tcc-c01-platform-card summary strong { margin-bottom: 8px; font-size: 1.15rem; }
.tcc-c01-platform-card summary small { min-height: 62px; color: var(--c01-muted); line-height: 1.5; }
.tcc-c01-platform-card summary b { margin-top: 18px; color: var(--c01-red); font-size: 12px; }
.tcc-c01-platform-card summary b i { font-style: normal; font-size: 16px; }
.tcc-c01-platform-card[open] { grid-column: 1 / -1; }
.tcc-c01-platform-card[open] summary { display: grid; grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr); align-items: center; cursor: zoom-out; }
.tcc-c01-platform-card[open] summary > img { max-height: 280px; }
.tcc-c01-platform-card[open] summary small { min-height: 0; }
.tcc-c01-platform-card[open] summary b i { font-size: 0; }
.tcc-c01-platform-card[open] summary b i::before { content: "−"; font-size: 16px; }
.tcc-c01-platform-card__expanded { padding: 24px; background: #f3f3f3; border-top: 1px solid var(--c01-line); }
.tcc-c01-platform-card__expanded img { display: block; width: auto; max-width: 100%; max-height: 900px; margin-inline: auto; object-fit: contain; }
.tcc-c01-platform-card__expanded p { max-width: 760px; margin: 16px auto 0; font-size: 12px; text-align: center; }

.tcc-c01-weight { display: grid; grid-template-columns: minmax(400px, .88fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.tcc-c01-weight__media { margin: 0; }
.tcc-c01-weight__media picture { display: block; background: #080808; }
.tcc-c01-weight__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; object-position: center; }
.tcc-c01-weight__media figcaption { margin-top: 12px; color: #aaa; font-size: 12px; line-height: 1.5; }
.tcc-c01-weight h2 { margin-bottom: 30px; }
.tcc-c01-weight-cards { display: grid; gap: 10px; }
.tcc-c01-weight-cards article { position: relative; padding: 20px 20px 20px 74px; background: #1d1d1d; border-left: 3px solid var(--c01-red); }
.tcc-c01-weight-cards span { position: absolute; top: 23px; left: 22px; color: #f05a5e; font-size: 11px; font-weight: 900; }
.tcc-c01-weight-cards h3 { margin-bottom: 7px; }
.tcc-c01-weight-cards p { margin-bottom: 0; font-size: 14px; line-height: 1.55; }

.tcc-c01-services-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.tcc-c01-services-grid article { min-height: 230px; padding: 26px 23px; background: var(--c01-red-dark); }
.tcc-c01-services-grid span { display: block; margin-bottom: 44px; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.tcc-c01-services-grid h3 { color: #fff; }
.tcc-c01-services-grid p { margin-bottom: 0; font-size: 14px; line-height: 1.55; }

.tcc-c01-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tcc-c01-regions article { padding: 32px; background: var(--c01-soft); border-top: 4px solid var(--c01-red); }
.tcc-c01-regions span { display: block; margin-bottom: 38px; color: var(--c01-red); font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.tcc-c01-regions p { margin-bottom: 0; line-height: 1.6; }

.tcc-c01-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tcc-c01-compare article { display: flex; min-height: 360px; padding: 38px; flex-direction: column; background: #fff; border: 1px solid var(--c01-line); }
.tcc-c01-compare article:first-child { border-top: 5px solid var(--c01-red); }
.tcc-c01-card-label { color: var(--c01-red) !important; font-size: 11px; font-weight: 900; letter-spacing: .13em; }
.tcc-c01-compare h3 { font-size: 1.85rem; }
.tcc-c01-compare article > p:not(.tcc-c01-card-label) { line-height: 1.7; }
.tcc-c01-compare .tcc-hv2-button { align-self: flex-start; margin-top: auto; }

.tcc-c01-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.tcc-c01-faq details { background: #fff; border: 1px solid var(--c01-line); }
.tcc-c01-faq summary { position: relative; padding: 20px 54px 20px 20px; color: var(--c01-ink); font-weight: 800; line-height: 1.45; cursor: pointer; list-style: none; }
.tcc-c01-faq summary::-webkit-details-marker { display: none; }
.tcc-c01-faq summary::after { content: "+"; position: absolute; top: 17px; right: 20px; color: var(--c01-red); font-size: 23px; }
.tcc-c01-faq details[open] summary::after { content: "−"; }
.tcc-c01-faq details p { margin: 0; padding: 0 20px 20px; line-height: 1.65; }

.tcc-c01-final { padding-block: 98px; color: #fff; background: linear-gradient(115deg, #111 0%, #111 54%, #8f1015 100%); }
.tcc-c01-final__inner { max-width: 970px; }
.tcc-c01-final h2 { max-width: 950px; color: #fff; font-size: clamp(2.45rem, 5vw, 4.4rem); }
.tcc-c01-final p:not(.tcc-c01-eyebrow) { max-width: 720px; color: #d6d6d6; font-size: 17px; line-height: 1.7; }

@media (max-width: 1100px) {
    .tcc-c01-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr); gap: 40px; }
    .tcc-c01-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tcc-c01-marketplaces { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tcc-c01-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tcc-c01-services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tcc-c01-weight { grid-template-columns: minmax(360px, .8fr) minmax(0, 1fr); gap: 40px; }
}

@media (max-width: 820px) {
    .tcc-c01-section { padding-block: 64px; }
    .tcc-c01-hero { padding-block: 54px 60px; }
    .tcc-c01-hero__grid,
    .tcc-c01-address,
    .tcc-c01-consolidation,
    .tcc-c01-weight,
    .tcc-c01-heading--split { grid-template-columns: 1fr; }
    .tcc-c01-hero__media { margin: 16px 12px 0 16px; }
    .tcc-c01-heading--split { gap: 20px; }
    .tcc-c01-market-note { align-items: flex-start; flex-direction: column; }
    .tcc-c01-address,
    .tcc-c01-consolidation,
    .tcc-c01-weight { gap: 40px; }
    .tcc-c01-regions { grid-template-columns: 1fr; }
    .tcc-c01-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .tcc-c01-v2 h2 { font-size: clamp(1.9rem, 9vw, 2.55rem); }
    .tcc-c01-heading { margin-bottom: 30px; }
    .tcc-c01-heading > p:not(.tcc-c01-eyebrow) { font-size: 16px; }
    .tcc-c01-hero__copy h1 { font-size: clamp(2.25rem, 11vw, 3.05rem); }
    .tcc-c01-hero__copy > p:not(.tcc-c01-eyebrow) { font-size: 16px; }
    .tcc-c01-actions { align-items: stretch; flex-direction: column; }
    .tcc-c01-actions .tcc-hv2-button { width: 100%; }
    .tcc-c01-hero__image { aspect-ratio: 4 / 5; object-position: center; }
    .tcc-c01-subnav .tcc-hv2-wrap { gap: 24px; }
    .tcc-c01-marketplaces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tcc-c01-marketplace-card { min-height: 138px; padding-inline: 12px; }
    .tcc-c01-marketplace-logo img { max-width: min(116px, 100%); max-height: 52px; }
    .tcc-c01-steps,
    .tcc-c01-process-media,
    .tcc-c01-platform-grid,
    .tcc-c01-services-grid,
    .tcc-c01-compare,
    .tcc-c01-faq { grid-template-columns: 1fr; }
    .tcc-c01-steps li { min-height: 205px; }
    .tcc-c01-security-card { padding: 30px; }
    .tcc-c01-mini-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tcc-c01-platform-card[open] summary { display: block; }
    .tcc-c01-platform-card[open] summary > img { max-height: none; }
    .tcc-c01-platform-card summary small { min-height: 0; }
    .tcc-c01-platform-card__expanded { padding: 12px; }
    .tcc-c01-weight__image { aspect-ratio: 3 / 4; object-fit: contain; }
    .tcc-c01-services-grid article { min-height: 190px; }
    .tcc-c01-compare article { min-height: 330px; padding: 30px; }
    .tcc-c01-final { padding-block: 78px; }
    .tcc-c01-final h2 { font-size: clamp(2.2rem, 10.5vw, 3.25rem); }
}

@media (max-width: 390px) {
    .tcc-c01-section { padding-block: 54px; }
    .tcc-c01-hero { padding-block: 44px 52px; }
    .tcc-c01-hero__media { margin-inline: 5px; padding: 0 0 13px 13px; }
    .tcc-c01-hero__media::before { inset: 13px 13px 0 0; }
    .tcc-c01-hero__media figcaption { margin-right: 13px; }
    .tcc-c01-mini-flow { grid-template-columns: 1fr; }
    .tcc-c01-mini-flow li { min-height: 130px; }
    .tcc-c01-services-grid { grid-template-columns: 1fr; }
    .tcc-c01-services-grid article { min-height: 175px; }
    .tcc-c01-services-grid span { margin-bottom: 30px; }
}

@media (max-width: 340px) {
    .tcc-c01-hero__copy h1 { font-size: 2.12rem; }
    .tcc-c01-security-card { padding: 24px; }
    .tcc-c01-platform-card summary > span,
    .tcc-c01-compare article { padding: 24px; }
    .tcc-c01-final h2 { font-size: 2.05rem; }
}
