.tc-mahjong-page { --tc-surface:#f4f1e8; --tc-surface-soft:#e6dfd2; --tc-panel:#fffdf7; --tc-ink:#1e2522; --tc-muted:#69706a; --tc-line:#d5ccbd; --tc-accent:#577069; --tc-accent-dark:#233b35; --tc-deep:#15231f; --tc-deep-muted:#b6c0ba; --tc-radius:8px; color:var(--tc-ink); background:var(--tc-surface); margin:0; }
.tc-mahjong-page .tc-container { box-sizing:border-box; width:100%; max-width:1180px; padding-inline:48px; margin-inline:auto; }
.tc-mahjong-page .tc-wide-container { box-sizing:border-box; width:100%; max-width:1360px; padding-inline:48px; margin-inline:auto; }
.tc-mahjong-page .tc-button-primary .wp-block-button__link { background:var(--tc-accent-dark); border:1px solid var(--tc-accent-dark); border-radius:999px; color:var(--tc-panel); font-size:15px; font-weight:700; line-height:1.2; padding:15px 20px; text-decoration:none; }
.tc-mahjong-page .tc-button-secondary .wp-block-button__link { background:rgb(255 253 247 / .8); border:1px solid rgb(30 37 34 / .34); border-radius:999px; color:var(--tc-ink); font-size:15px; font-weight:700; line-height:1.2; padding:15px 20px; text-decoration:none; }
.tc-mahjong-page *, .tc-mahjong-page *::before, .tc-mahjong-page *::after { box-sizing:border-box; }
.tc-mahjong-page :is(h1,h2,h3,p,figure,ul) { margin:0; letter-spacing:0; }
.tc-mahjong-page :is(h1,h2,h3) { overflow-wrap:normal; word-break:normal; text-wrap:pretty; }
.tc-mahjong-page h1 { font-size:68px; line-height:1.02; font-weight:790; }
.tc-mahjong-page h2 { font-size:44px; line-height:1.1; font-weight:790; max-width:900px; }
.tc-mahjong-page h3 { font-size:22px; line-height:1.2; font-weight:750; }
.tc-mahjong-page p { font-size:16px; line-height:1.65; color:var(--tc-muted); }
.tc-mahjong-page .tc-kicker { color:var(--tc-accent-dark); font-size:12px; font-weight:780; line-height:1.3; margin-bottom:16px; letter-spacing:0; }
.tc-mahjong-page .mj-section { padding-block:88px; scroll-margin-top:90px; }
.tc-mahjong-page .mj-section + .mj-section { border-top:1px solid var(--tc-line); }
.tc-mahjong-page .mj-heading { max-width:900px; margin-bottom:40px; }
.tc-mahjong-page .mj-intro { max-width:800px; margin-top:18px; font-size:18px; }
.tc-mahjong-page .mj-soft { background:var(--tc-surface-soft); }
.tc-mahjong-page .mj-white { background:var(--tc-panel); }
.tc-mahjong-page .mj-grid { display:grid; gap:24px; align-items:stretch; }
.tc-mahjong-page .mj-grid > * { min-width:0; margin:0; }
.tc-mahjong-page .mj-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tc-mahjong-page .mj-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tc-mahjong-page .mj-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tc-mahjong-page .mj-card { border:1px solid var(--tc-line); border-radius:var(--tc-radius); padding:28px; background:var(--tc-panel); }
.tc-mahjong-page .mj-card h3 { margin-bottom:12px; }
.tc-mahjong-page .mj-card p + p { margin-top:12px; }
.tc-mahjong-page .mj-number { color:var(--tc-accent); font-size:14px; font-weight:750; margin-bottom:28px; }
.tc-mahjong-page .mj-note { font-size:13px; line-height:1.5; margin-top:18px; max-width:900px; }
.tc-mahjong-page .mj-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.tc-mahjong-page .mj-actions .wp-block-button { margin:0; }
.tc-mahjong-page .wp-block-button__link { letter-spacing:0; white-space:normal; text-align:center; }
.tc-mahjong-page :is(a,summary):focus-visible { outline:2px solid var(--tc-accent); outline-offset:5px; }
.tc-mahjong-page .mj-hero { position:relative; display:grid; grid-template-rows:minmax(0,1fr); min-height:540px; height:min(660px,calc(100svh - 160px)); overflow:hidden; background:var(--tc-surface); }
.tc-mahjong-page .mj-hero__image { grid-area:1/1; width:100%; height:100%; min-height:0; min-width:0; position:relative; }
.tc-mahjong-page .mj-hero__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.tc-mahjong-page .mj-hero__image figcaption { position:absolute; right:20px; bottom:10px; max-width:480px; background:rgb(255 253 247 / .9); padding:4px 8px; color:var(--tc-muted); font-size:12px; line-height:1.35; }
.tc-mahjong-page .mj-hero__inner { grid-area:1/1; align-self:center; z-index:1; pointer-events:none; }
.tc-mahjong-page .mj-hero__copy { max-width:47%; pointer-events:auto; }
.tc-mahjong-page .mj-hero__copy .mj-intro { font-size:18px; max-width:460px; color:var(--tc-ink); }
.tc-mahjong-page .mj-hero .mj-actions { max-width:500px; }
.tc-mahjong-page .mj-media img { display:block; width:100%; height:auto; border-radius:var(--tc-radius); aspect-ratio:3/2; object-fit:cover; }
.tc-mahjong-page figcaption { color:var(--tc-muted); font-size:12px; line-height:1.45; margin-top:10px; }
.tc-mahjong-page .mj-product-visual { margin-bottom:40px; }
.tc-mahjong-page .mj-feature { border-top:1px solid var(--tc-line); padding:22px 0; }
.tc-mahjong-page .mj-feature h3 { font-size:19px; margin-bottom:10px; }
.tc-mahjong-page .mj-private-card { padding:0; overflow:hidden; }
.tc-mahjong-page .mj-private-card .mj-card-copy { padding:22px; }
.tc-mahjong-page .mj-private-card h3 { font-size:19px; }
.tc-mahjong-page .mj-thumb { margin:0; overflow:hidden; }
.tc-mahjong-page .mj-thumb img { display:block; width:100%; aspect-ratio:8/5; object-fit:cover; }
.tc-mahjong-page .mj-crop-tiles img { transform:scale(1.7); transform-origin:8% 35%; }
.tc-mahjong-page .mj-crop-backs img { transform:scale(1.7); transform-origin:70% 28%; }
.tc-mahjong-page .mj-crop-racks img { transform:scale(1.9); transform-origin:12% 74%; }
.tc-mahjong-page .mj-crop-case img { transform:scale(1.65); transform-origin:60% 15%; }
.tc-mahjong-page .mj-crop-pack img { transform:scale(1.8); transform-origin:95% 80%; }
.tc-mahjong-page .mj-components { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 24px; margin-top:28px; }
.tc-mahjong-page .mj-components p { padding:16px 0; border-bottom:1px solid var(--tc-line); color:var(--tc-ink); font-weight:720; }
.tc-mahjong-page .mj-construction-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.tc-mahjong-page .mj-construction-layout .mj-media { position:sticky; top:100px; }
.tc-mahjong-page .mj-start .mj-card { display:flex; flex-direction:column; }
.tc-mahjong-page .mj-start .mj-actions { margin-top:auto; padding-top:28px; }
.tc-mahjong-page .mj-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.tc-mahjong-page .mj-check { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:24px 0; border-top:1px solid var(--tc-line); align-items:start; }
.tc-mahjong-page .mj-check .mj-number { margin:0; padding-top:2px; }
.tc-mahjong-page .mj-check h3 { font-size:19px; margin-bottom:8px; }
.tc-mahjong-page .mj-artwork-note { margin-top:28px; border-left:3px solid var(--tc-accent); padding-left:20px; max-width:850px; }
.tc-mahjong-page .tc-process-module__body { display:grid; grid-template-columns:160px minmax(0,1fr); gap:32px; }
.tc-mahjong-page .tc-process-module__nav { display:grid; align-content:start; gap:2px; padding-left:16px; border-left:1px solid var(--tc-line); }
.tc-mahjong-page .tc-process-module__nav .wp-block-button { width:100%; }
.tc-mahjong-page .tc-process-module__nav .wp-block-button__link { display:block; width:100%; position:relative; background:transparent; color:var(--tc-muted); border:0; border-radius:0; padding:14px 8px; font-size:16px; font-weight:720; line-height:1.3; text-align:left; text-decoration:none; min-height:48px; }
.tc-mahjong-page .tc-process-module__nav [aria-selected="true"] { color:var(--tc-ink); }
.tc-mahjong-page .tc-process-module__nav [aria-selected="true"]::before { content:""; width:3px; background:var(--tc-accent); position:absolute; left:-17px; top:0; bottom:0; }
.tc-mahjong-page .tc-process-module__panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; margin-bottom:36px; scroll-margin-top:90px; }
.tc-mahjong-page .tc-process-module__panel[hidden] { display:none; }
.tc-mahjong-page .tc-process-module.is-enhanced .tc-process-module__panel { margin-bottom:0; }
.tc-mahjong-page .tc-process-module__copy { border-top:1px solid var(--tc-line); padding-top:24px; }
.tc-mahjong-page .tc-process-module__meta { margin-bottom:14px; font-size:13px; font-weight:750; color:var(--tc-accent); }
.tc-mahjong-page .tc-process-module__copy h3 { font-size:28px; margin-bottom:16px; }
.tc-mahjong-page .tc-process-module__points { list-style:none; border-top:1px solid var(--tc-line); margin-top:24px; padding:18px 0 0; }
.tc-mahjong-page .tc-process-module__points li { position:relative; padding-left:18px; margin:7px 0; font-size:15px; color:var(--tc-muted); }
.tc-mahjong-page .tc-process-module__points li::before { content:""; background:var(--tc-accent); position:absolute; left:0; top:12px; width:7px; height:1px; }
.tc-mahjong-page .mj-qc .mj-number { margin-bottom:14px; }
.tc-mahjong-page .mj-buyer-grid { gap:36px; }
.tc-mahjong-page .mj-buyer-grid .mj-feature { margin:0; }
.tc-mahjong-page .tc-faq { margin-top:40px; }
.tc-mahjong-page .tc-faq summary { white-space:normal; overflow-wrap:break-word; }
.tc-mahjong-page .tc-faq p { margin-top:14px; }
.tc-mahjong-page .tc-final-cta { background:var(--tc-deep); color:var(--tc-panel); padding-block:88px; text-align:center; }
.tc-mahjong-page .tc-final-cta h2 { color:var(--tc-panel); max-width:800px; margin-inline:auto; font-size:54px; }
.tc-mahjong-page .tc-final-cta .tc-kicker { color:var(--tc-deep-muted); }
.tc-mahjong-page .tc-final-cta .tc-final-cta__copy { color:var(--tc-deep-muted); max-width:800px; margin:22px auto 0; font-size:18px; }
.tc-mahjong-page .tc-final-cta .mj-actions { justify-content:center; }
@media (min-width:901px) and (max-width:1100px) {
 .tc-mahjong-page h1 { font-size:58px; }
 .tc-mahjong-page .mj-hero__copy { max-width:48%; }
 .tc-mahjong-page .mj-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-card { padding:24px; }
 .tc-mahjong-page .mj-private-card { padding:0; }
}
@media (max-width:900px) {
 .tc-mahjong-page h1 { font-size:48px; }
 .tc-mahjong-page h2 { font-size:36px; }
 .tc-mahjong-page .mj-section { padding-block:64px; }
 .tc-mahjong-page .mj-heading { margin-bottom:30px; }
 .tc-mahjong-page .mj-four,.tc-mahjong-page .mj-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-hero { height:auto; min-height:0; display:flex; flex-direction:column; }
 .tc-mahjong-page .mj-hero__inner { order:0; padding-block:36px 24px; }
 .tc-mahjong-page .mj-hero__copy { max-width:680px; }
 .tc-mahjong-page .mj-hero__copy .mj-intro { max-width:650px; font-size:17px; }
 .tc-mahjong-page .mj-hero__image { order:1; height:300px; }
 .tc-mahjong-page .mj-hero__image img { object-position:right 55%; }
 .tc-mahjong-page .mj-hero__image figcaption { right:12px; left:12px; bottom:6px; max-width:none; margin:0; font-size:11px; }
 .tc-mahjong-page .mj-construction-layout { grid-template-columns:1fr; gap:28px; }
 .tc-mahjong-page .mj-construction-layout .mj-media { position:static; }
 .tc-mahjong-page .tc-process-module__body { grid-template-columns:1fr; gap:28px; }
 .tc-mahjong-page .tc-process-module__nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:0; border-left:0; border-block:1px solid var(--tc-line); gap:0; }
 .tc-mahjong-page .tc-process-module__nav .wp-block-button__link { padding:16px 3px; text-align:center; font-size:14px; }
 .tc-mahjong-page .tc-process-module__nav [aria-selected="true"]::before { width:auto; height:3px; left:0; right:0; top:auto; bottom:0; }
 .tc-mahjong-page .tc-final-cta h2 { font-size:42px; }
}
@media (max-width:600px) {
 .tc-mahjong-page .tc-container,.tc-mahjong-page .tc-wide-container { padding-inline:20px; }
 .tc-mahjong-page h1 { font-size:42px; }
 .tc-mahjong-page h2 { font-size:31px; }
 .tc-mahjong-page h3 { font-size:21px; }
 .tc-mahjong-page .mj-intro { font-size:16px; }
 .tc-mahjong-page .mj-section { padding-block:52px; }
 .tc-mahjong-page .mj-hero__inner { padding-top:28px; padding-bottom:18px; }
 .tc-mahjong-page .mj-hero .tc-kicker { margin-bottom:12px; }
 .tc-mahjong-page .mj-hero__copy .mj-intro { font-size:16px; margin-top:16px; }
 .tc-mahjong-page .mj-hero__image { height:225px; }
 .tc-mahjong-page .mj-hero .mj-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:20px; }
 .tc-mahjong-page .mj-actions .wp-block-button__link { width:100%; }
 .tc-mahjong-page .mj-grid { gap:14px; }
 .tc-mahjong-page .mj-four,.tc-mahjong-page .mj-two,.tc-mahjong-page .mj-three { grid-template-columns:1fr; }
 .tc-mahjong-page .mj-private-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-private-card .mj-card-copy { padding:16px 12px; }
 .tc-mahjong-page .mj-private-card h3 { font-size:18px; }
 .tc-mahjong-page .mj-private-card p { font-size:14px; line-height:1.55; }
 .tc-mahjong-page .mj-number { margin-bottom:18px; }
 .tc-mahjong-page .mj-card { padding:24px; }
 .tc-mahjong-page .mj-private-card { padding:0; }
 .tc-mahjong-page .mj-components { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-checklist { grid-template-columns:1fr; }
 .tc-mahjong-page .tc-process-module__nav { grid-template-columns:1fr .85fr 1fr 1.4fr .9fr; }
 .tc-mahjong-page .tc-process-module__nav .wp-block-button__link { font-size:12px; padding:16px 1px; white-space:nowrap; }
 .tc-mahjong-page .tc-process-module__panel { grid-template-columns:1fr; gap:24px; }
 .tc-mahjong-page .tc-process-module__copy h3 { font-size:26px; }
 .tc-mahjong-page .tc-final-cta { padding-block:64px; }
 .tc-mahjong-page .tc-final-cta h2 { font-size:36px; }
 .tc-mahjong-page .tc-final-cta .tc-final-cta__copy { font-size:16px; }
 .tc-mahjong-page .tc-final-cta .mj-actions { display:grid; grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
 .tc-mahjong-page *, .tc-mahjong-page *::before, .tc-mahjong-page *::after { animation:none!important; transition:none!important; }
}

/* Native, editable disclosures for the four V1.1 modules only. */
.tc-mahjong-page .mj-native-accordion { min-width:0; }
.tc-mahjong-page .mj-disclosure { margin:0; border-bottom:1px solid var(--tc-line); }
.tc-mahjong-page .mj-disclosure:first-child { border-top:1px solid var(--tc-line); }
.tc-mahjong-page .mj-disclosure > summary { cursor:pointer; padding:20px 12px; color:var(--tc-muted); font-size:19px; font-weight:750; line-height:1.3; overflow-wrap:break-word; border-left:3px solid transparent; }
.tc-mahjong-page .mj-disclosure > summary::marker { font-size:12px; }
.tc-mahjong-page .mj-disclosure[open] > summary { color:var(--tc-accent-dark); border-left-color:var(--tc-accent); }
.tc-mahjong-page .mj-disclosure > summary:hover { color:var(--tc-accent-dark); }
.tc-mahjong-page .mj-disclosure > summary:focus-visible,
.tc-mahjong-page .mj-faq-v11 summary:focus-visible { outline:2px solid var(--tc-accent-dark); outline-offset:3px; }
.tc-mahjong-page .mj-option-number { font-size:12px; font-weight:750; white-space:nowrap; margin-right:8px; color:var(--tc-accent); }
.tc-mahjong-page .mj-accordion__body { padding:0 16px 24px; }
.tc-mahjong-page .mj-accordion__body p { font-size:16px; line-height:1.65; }
.tc-mahjong-page .mj-accordion__body p + p { margin-top:12px; }
.tc-mahjong-page .mj-accordion__body h3 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tc-mahjong-page .mj-accordion__body h3.block-editor-rich-text__editable { position:static; width:auto; height:auto; margin:0 0 12px; overflow:visible; clip-path:none; white-space:normal; }
.tc-mahjong-page .mj-tile-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:32px; align-items:start; }
.tc-mahjong-page .mj-tile-layout > .mj-product-visual { margin:0; }
.tc-mahjong-page .mj-technical-layout { display:grid; grid-template-columns:minmax(0,48fr) minmax(0,52fr); gap:48px; align-items:start; }
.tc-mahjong-page .mj-qc-layout { display:grid; grid-template-columns:minmax(0,42fr) minmax(0,58fr); gap:48px; align-items:start; }
.tc-mahjong-page .mj-faq-v11 .tc-faq { align-items:start; }
.tc-mahjong-page .mj-faq-v11 details { padding:0; }
.tc-mahjong-page .mj-faq-v11 details[open] { padding-bottom:22px; }
.tc-mahjong-page .mj-faq-v11 summary { min-height:68px; padding:22px .35rem 22px 0; }
@media (min-width:901px) {
 .tc-mahjong-page .mj-feature-options.is-feature-navigation { position:relative; min-height:var(--mj-active-content-height,0px); }
 .tc-mahjong-page .mj-feature-options.is-feature-navigation > .mj-disclosure { width:43%; }
 .tc-mahjong-page .mj-feature-options.is-feature-navigation > .mj-disclosure > summary { font-size:19px; padding:16px 10px; }
 .tc-mahjong-page .mj-feature-options.is-feature-navigation .mj-accordion__body { position:absolute; top:0; left:calc(43% + 28px); width:calc(57% - 28px); padding:24px 0 0; border-top:1px solid var(--tc-line); }
 .tc-mahjong-page .mj-feature-options.is-feature-navigation .mj-accordion__body h3 { position:static; width:auto; height:auto; padding:0; margin:0 0 16px; overflow:visible; clip-path:none; white-space:normal; font-size:28px; line-height:1.2; }
}
@media (max-width:900px) {
 .tc-mahjong-page .mj-tile-layout { grid-template-columns:1fr; gap:28px; }
 .tc-mahjong-page .mj-tile-layout > .mj-media { grid-row:1; }
}
@media (max-width:900px) {
 .tc-mahjong-page .mj-technical-layout,
 .tc-mahjong-page .mj-qc-layout { grid-template-columns:1fr; gap:28px; }
}
@media (max-width:680px) {
 .tc-mahjong-page .mj-faq-v11 summary { min-height:60px; padding-block:18px; padding-right:0; }
 .tc-mahjong-page .mj-faq-v11 details[open] { padding-bottom:18px; }
}

/* V1.2 consolidates product decisions, complete sets and the project brief. */
.tc-mahjong-page .mj-buyer-line { font-size:13px; line-height:1.5; margin-top:18px; max-width:540px; }
.tc-mahjong-page .tc-final-cta .mj-buyer-line { color:var(--tc-deep-muted); max-width:800px; margin-inline:auto; font-size:14px; }
.tc-mahjong-page .mj-decision-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:32px; border-block:1px solid var(--tc-line); }
.tc-mahjong-page .mj-decision-step { position:relative; min-width:0; padding:24px 28px; }
.tc-mahjong-page .mj-decision-step:first-child { padding-left:0; }
.tc-mahjong-page .mj-decision-step:last-child { padding-right:0; }
.tc-mahjong-page .mj-decision-step + .mj-decision-step::before { content:"\2192"; position:absolute; left:-8px; top:23px; color:var(--tc-accent); }
.tc-mahjong-page .mj-decision-step h3 { font-size:19px; margin-bottom:10px; }
.tc-mahjong-page .mj-decision-step p { font-size:16px; line-height:1.65; }
.tc-mahjong-page .mj-featured-product { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); align-items:center; padding:0; overflow:hidden; }
.tc-mahjong-page .mj-featured-product > .mj-product-visual { margin:0; }
.tc-mahjong-page .mj-featured-product figcaption { padding:0 14px 14px; }
.tc-mahjong-page .mj-featured-product__copy { padding:36px; }
.tc-mahjong-page .mj-featured-product__copy h3 { font-size:28px; margin-bottom:16px; }
.tc-mahjong-page .mj-accessory-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin-top:24px; align-items:stretch; }
.tc-mahjong-page .mj-accessory-grid > * { min-width:0; }
.tc-mahjong-page .mj-accessory-grid .mj-private-card { padding:0; }
.tc-mahjong-page .mj-accessory-grid .mj-card-copy { padding:22px 18px; }
.tc-mahjong-page .mj-accessory-grid .mj-card-copy p { font-size:16px; line-height:1.65; }
.tc-mahjong-page .mj-complete-note { margin-top:28px; }
.tc-mahjong-page .mj-compact-rfq { margin-top:36px; scroll-margin-top:90px; }
.tc-mahjong-page .mj-compact-rfq h3 { font-size:22px; margin-bottom:18px; }
.tc-mahjong-page .mj-rfq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; padding:0; list-style:none; }
.tc-mahjong-page .mj-rfq-list li { position:relative; margin:0; padding:12px 0 12px 20px; border-top:1px solid var(--tc-line); color:var(--tc-ink); font-size:16px; font-weight:720; line-height:1.65; }
.tc-mahjong-page .mj-rfq-list li::before { content:""; position:absolute; left:0; top:24px; width:7px; height:1px; background:var(--tc-accent); }
@media (min-width:901px) and (max-width:1100px) {
 .tc-mahjong-page.mj-v12 .mj-hero__copy .mj-intro { max-width:390px; }
 .tc-mahjong-page .mj-accessory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .tc-mahjong-page .mj-project-choice .mj-format-cards,
 .tc-mahjong-page .mj-project-start .mj-two,
 .tc-mahjong-page .mj-featured-product,
 .tc-mahjong-page.mj-v12 .tc-process-module__panel,
 .tc-mahjong-page .mj-rfq-list { grid-template-columns:1fr; }
 .tc-mahjong-page .mj-decision-strip { grid-template-columns:1fr; }
 .tc-mahjong-page .mj-decision-step,
 .tc-mahjong-page .mj-decision-step:first-child,
 .tc-mahjong-page .mj-decision-step:last-child { padding:24px 0; }
 .tc-mahjong-page .mj-decision-step + .mj-decision-step { border-top:1px solid var(--tc-line); }
 .tc-mahjong-page .mj-decision-step + .mj-decision-step::before { content:"\2193"; left:auto; right:0; top:22px; }
 .tc-mahjong-page .mj-accessory-grid { grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
 .tc-mahjong-page .mj-featured-product__copy { padding:28px; }
}

/* V2 body modules only; the locked hero and FAQ retain their existing rules. */
.tc-mahjong-page .mj-decision-v2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px; border-block:1px solid var(--tc-line); }
.tc-mahjong-page .mj-decision-step-v2 { min-width:0; padding:26px 30px; }
.tc-mahjong-page .mj-decision-step-v2:first-child { padding-left:0; }
.tc-mahjong-page .mj-decision-step-v2:last-child { padding-right:0; }
.tc-mahjong-page .mj-decision-step-v2 + .mj-decision-step-v2 { border-left:1px solid var(--tc-line); }
.tc-mahjong-page .mj-decision-step-v2 .mj-v2-number { margin-bottom:18px; font-size:34px; line-height:1; }
.tc-mahjong-page .mj-decision-step-v2 h3 { margin-bottom:10px; font-size:17px; }
.tc-mahjong-page .mj-decision-step-v2 p:last-child { max-width:34ch; font-size:15px; line-height:1.55; }
.tc-mahjong-page .mj-v2-note { max-width:900px; margin-top:20px; font-size:13px; line-height:1.55; }
.tc-mahjong-page .mj-v2-number { margin:0; color:var(--tc-accent); font-size:13px; font-weight:780; line-height:1.3; }
.tc-mahjong-page .mj-v2-label { color:var(--tc-accent-dark); font-size:11px; font-weight:780; line-height:1.3; }
.tc-mahjong-page .mj-v2-tile-layout { grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:38px; align-items:start; }
.tc-mahjong-page .mj-v2-tile-layout > .mj-v2-tile-image { margin:0; }
.tc-mahjong-page .mj-v2-tile-image img { aspect-ratio:3/2; object-fit:cover; }
.tc-mahjong-page .mj-v2-tile-accordion .mj-disclosure > summary { font-size:17px; }
.tc-mahjong-page .mj-process-grid-v2 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.tc-mahjong-page .mj-process-card-v2 { min-width:0; overflow:hidden; border:1px solid var(--tc-line); border-radius:var(--tc-radius); background:var(--tc-panel); }
.tc-mahjong-page .mj-v2-process-image { aspect-ratio:3/2; margin:0; overflow:hidden; background:var(--tc-surface-soft); }
.tc-mahjong-page .mj-v2-process-image img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; transform:scale(2.2); }
.tc-mahjong-page .mj-v2-crop-print img { transform-origin:15% 28%; }
.tc-mahjong-page .mj-v2-crop-engrave img { transform-origin:51% 26%; }
.tc-mahjong-page .mj-v2-crop-fill img { transform-origin:33% 68%; }
.tc-mahjong-page .mj-process-card-v2__copy { padding:22px; }
.tc-mahjong-page .mj-process-card-v2__copy > .tc-kicker { margin-bottom:8px; font-size:10px; }
.tc-mahjong-page .mj-process-card-v2__copy h3 { margin-bottom:18px; font-size:21px; }
.tc-mahjong-page .mj-process-fact-v2 { padding-top:12px; border-top:1px solid var(--tc-line); }
.tc-mahjong-page .mj-process-fact-v2 + .mj-process-fact-v2 { margin-top:12px; }
.tc-mahjong-page .mj-process-fact-v2 .mj-v2-label { margin-bottom:5px; }
.tc-mahjong-page .mj-process-fact-v2 p:last-child { font-size:14px; line-height:1.5; }
.tc-mahjong-page .mj-accessory-grid-v2 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 18px; align-items:stretch; }
.tc-mahjong-page .mj-accessory-card-v2 { min-width:0; border-top:1px solid var(--tc-line); padding-top:12px; }
.tc-mahjong-page .mj-accessory-visual-v2 { aspect-ratio:3/2; margin:0 0 12px; overflow:hidden; border-radius:var(--tc-radius); background:var(--tc-panel); }
.tc-mahjong-page .mj-accessory-visual-v2 img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; transform:scale(2.7); }
.tc-mahjong-page .mj-v2-crop-racks img { transform-origin:18% 72%; }
.tc-mahjong-page .mj-v2-crop-mat img { transform-origin:90% 12%; }
.tc-mahjong-page .mj-v2-crop-case img { transform-origin:49% 10%; }
.tc-mahjong-page .mj-v2-crop-bag img { transform-origin:56% 78%; }
.tc-mahjong-page .mj-v2-crop-cards img { transform-origin:18% 15%; }
.tc-mahjong-page .mj-v2-crop-inserts img { transform-origin:94% 84%; }
.tc-mahjong-page .mj-v2-crop-dice img { transform-origin:47% 78%; }
.tc-mahjong-page .mj-v2-crop-packaging img { transform-origin:94% 90%; }
.tc-mahjong-page .mj-accessory-copy-v2 h3 { margin-bottom:6px; font-size:17px; }
.tc-mahjong-page .mj-accessory-copy-v2 p { font-size:13px; line-height:1.45; }
.tc-mahjong-page .mj-v2-packaging-details { margin-top:30px; }
.tc-mahjong-page .mj-v2-packaging-answers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; padding-top:8px; }
.tc-mahjong-page .mj-v2-packaging-answer h3 { position:static; width:auto; height:auto; margin:0 0 6px; overflow:visible; clip-path:none; white-space:normal; font-size:16px; }
.tc-mahjong-page .mj-v2-packaging-answer p { font-size:14px; line-height:1.5; }
.tc-mahjong-page .mj-v2-sourcing-note { margin-top:28px; padding-top:15px; border-top:1px solid var(--tc-line); }
.tc-mahjong-page .mj-approval-timeline-v2 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--tc-line); }
.tc-mahjong-page .mj-approval-step-v2 { min-width:0; padding:22px 24px 26px; }
.tc-mahjong-page .mj-approval-step-v2:first-child { padding-left:0; }
.tc-mahjong-page .mj-approval-step-v2:last-child { padding-right:0; }
.tc-mahjong-page .mj-approval-step-v2 + .mj-approval-step-v2 { border-left:1px solid var(--tc-line); }
.tc-mahjong-page .mj-approval-step-v2 .mj-v2-number { margin-bottom:20px; font-size:22px; }
.tc-mahjong-page .mj-approval-step-v2 h3 { margin-bottom:10px; font-size:16px; }
.tc-mahjong-page .mj-approval-step-v2 p:last-child { font-size:14px; line-height:1.5; }
.tc-mahjong-page .mj-v2-sample-note { margin-top:23px; border-left:3px solid var(--tc-accent); padding:3px 0 3px 17px; color:var(--tc-ink); font-size:15px; }
.tc-mahjong-page .mj-v2-artwork-details { margin-top:26px; }
.tc-mahjong-page .mj-v2-artwork-body { max-width:900px; }
.tc-mahjong-page .mj-v2-quality-layout { grid-template-columns:minmax(0,42fr) minmax(0,58fr); gap:42px; align-items:start; }
.tc-mahjong-page .mj-v2-quality-image { margin:0; }
.tc-mahjong-page .mj-v2-quality-image img { aspect-ratio:3/2; object-fit:cover; }
.tc-mahjong-page .mj-v2-quality-accordion .mj-disclosure > summary { font-size:17px; }
.tc-mahjong-page .mj-quote-list-v2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.tc-mahjong-page .mj-quote-item-v2 { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:baseline; min-width:0; padding:15px 0; border-top:1px solid var(--tc-line); }
.tc-mahjong-page .mj-quote-item-v2 h3 { font-size:16px; line-height:1.4; }
.tc-mahjong-page .mj-v2-quote .mj-actions { margin-top:28px; }
@media (max-width:900px) {
 .tc-mahjong-page .mj-decision-v2 { grid-template-columns:1fr; }
 .tc-mahjong-page .mj-decision-step-v2,
 .tc-mahjong-page .mj-decision-step-v2:first-child,
 .tc-mahjong-page .mj-decision-step-v2:last-child { padding:22px 0; }
 .tc-mahjong-page .mj-decision-step-v2 + .mj-decision-step-v2 { border-top:1px solid var(--tc-line); border-left:0; }
 .tc-mahjong-page .mj-decision-step-v2 .mj-v2-number { display:inline-block; margin:0 14px 0 0; font-size:25px; vertical-align:middle; }
 .tc-mahjong-page .mj-decision-step-v2 h3 { display:inline-block; vertical-align:middle; }
 .tc-mahjong-page .mj-decision-step-v2 p:last-child { max-width:600px; }
 .tc-mahjong-page .mj-v2-tile-layout,
 .tc-mahjong-page .mj-v2-quality-layout { grid-template-columns:1fr; gap:28px; }
 .tc-mahjong-page .mj-v2-tile-layout > .mj-v2-tile-image,
 .tc-mahjong-page .mj-v2-quality-image { grid-row:1; }
 .tc-mahjong-page .mj-process-grid-v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-accessory-grid-v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-approval-timeline-v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tc-mahjong-page .mj-approval-step-v2:nth-child(3) { border-left:0; border-top:1px solid var(--tc-line); }
 .tc-mahjong-page .mj-approval-step-v2:nth-child(4) { border-top:1px solid var(--tc-line); }
 .tc-mahjong-page .mj-approval-step-v2:first-child { padding-left:0; }
 .tc-mahjong-page .mj-approval-step-v2:last-child { padding-right:0; }
}
@media (max-width:600px) {
 .tc-mahjong-page .mj-process-grid-v2,
 .tc-mahjong-page .mj-accessory-grid-v2,
 .tc-mahjong-page .mj-v2-packaging-answers,
 .tc-mahjong-page .mj-approval-timeline-v2,
 .tc-mahjong-page .mj-quote-list-v2 { grid-template-columns:1fr; }
 .tc-mahjong-page .mj-process-card-v2__copy { padding:18px; }
 .tc-mahjong-page .mj-v2-process-image { aspect-ratio:2/1; }
 .tc-mahjong-page .mj-accessory-card-v2 { display:grid; grid-template-columns:104px minmax(0,1fr); gap:14px; align-items:center; padding-top:10px; }
 .tc-mahjong-page .mj-accessory-visual-v2 { aspect-ratio:4/3; margin:0; }
 .tc-mahjong-page .mj-accessory-copy-v2 h3 { font-size:16px; }
 .tc-mahjong-page .mj-accessory-copy-v2 p { font-size:13px; }
 .tc-mahjong-page .mj-v2-packaging-details > summary,
 .tc-mahjong-page .mj-v2-artwork-details > summary { font-size:16px; }
 .tc-mahjong-page .mj-approval-timeline-v2 { display:block; margin-left:7px; border-block:0; border-left:1px solid var(--tc-line); }
 .tc-mahjong-page .mj-approval-step-v2,
 .tc-mahjong-page .mj-approval-step-v2:first-child,
 .tc-mahjong-page .mj-approval-step-v2:last-child { padding:0 0 25px 22px; border:0; }
 .tc-mahjong-page .mj-approval-step-v2 + .mj-approval-step-v2 { border:0; }
 .tc-mahjong-page .mj-approval-step-v2 .mj-v2-number { margin-bottom:8px; font-size:15px; }
 .tc-mahjong-page .mj-quote-item-v2 { grid-template-columns:26px minmax(0,1fr); padding-block:13px; }
 .tc-mahjong-page .mj-v2-quote .mj-actions { display:grid; grid-template-columns:1fr; }
 .tc-mahjong-page .mj-v2-quote .mj-actions .wp-block-button__link { width:100%; }
}
