.xiancai-case-showcase { min-width: 0; }
.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.case-grid .record-card { position: relative; }
.case-grid .record-card__image { aspect-ratio: 4 / 3; }
.case-grid .record-card__image img { object-fit: cover; }
@media (min-width: 768px) { .case-grid .record-card p { position: absolute; top: 16px; left: 16px; right: 16px; background: rgba(36,33,38,.8); color: var(--paper); padding: 24px; opacity: 0; pointer-events: none; } .case-grid .record-card:hover p, .case-grid .record-card:focus-within p { opacity: 1; } }
@media (max-width: 767px) { .case-grid { grid-template-columns: minmax(0, 1fr); } }

/* Case archive presentation is isolated from homepage case cards. */
.xc-case-catalog { padding: 72px 0; background: #fff9f7; }
.xc-case-catalog--archive { padding-top: 0; }
.xc-case-catalog__title-area { position: relative; height: 210px; display: grid; place-items: center; isolation: isolate; }
.xc-case-catalog__watermark { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 210px; height: 210px; overflow: hidden; pointer-events: none; filter: grayscale(1); opacity: .1; z-index: -1; }
/* Clip the existing logo's lower wordmark, retaining the requested symbol. */
.xc-case-catalog__watermark img { display: block; width: 100%; max-width: none; height: auto; }
.xc-case-catalog--archive .xc-case-catalog__title-area .xc-case-catalog__heading { margin: 0; }
.xc-case-catalog--archive .xc-case-card__image { position: relative; background: #fff9f7; }
.xc-case-catalog--archive .xc-case-card .xc-case-card__image img { position: absolute; inset: 5px; width: calc(100% - 10px); height: calc(100% - 10px); }
@media(max-width:767px){.xc-case-catalog__title-area{height:168px}.xc-case-catalog__watermark{width:168px;height:168px}}
.xc-case-catalog.xc-case-recent { background: #fff7f4; border-top: 1px solid var(--line); }
.xc-case-recent__heading { text-align: center; margin-bottom: 48px; }
.xc-case-recent__heading h2 { font: 400 44px/1.18 Georgia, serif; letter-spacing: -.035em; margin: 0; }
.xc-case-recent .xc-case-card { background: #fff9f7; }
.xc-case-catalog__container { width: calc(100% - 2 * var(--site-gutter)); max-width: none; margin-inline: auto; min-width: 0; }
.xc-case-catalog .xc-case-catalog__heading { margin: 0 0 72px; color: #000; text-align: center; font: 400 55px/1.2 Georgia, serif; letter-spacing: -.035em; }
.xc-case-catalog__heading span { color: #A22D6D; }
.xc-case-catalog__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 60px; row-gap: 100px; }
.xc-case-card { min-width: 0; grid-column: span 2; display: flex; flex-direction: column; border: 1px solid var(--blush); }
.xc-case-card--wide { grid-column: span 3; }
.xc-case-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 680px; }
.xc-case-card__image { display: block; overflow: hidden; aspect-ratio: 1; background: var(--powder); }
.xc-case-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.xc-case-card--wide .xc-case-card__image { aspect-ratio: 9 / 5; }
.xc-case-card--featured .xc-case-card__image { aspect-ratio: auto; min-height: 678px; position: relative; }
.xc-case-card--featured .xc-case-card__image img { position: absolute; inset: 0; }
.xc-case-card__copy { display: flex; flex: 1; flex-direction: column; min-height: 250px; padding: 24px 20px 20px; align-items: flex-start; }
.xc-case-card--featured .xc-case-card__copy { align-self: center; padding: 60px; }
.xc-case-card__copy time { display: block; color: #A22D6D; font: 700 14px/1.4 Arial, Helvetica, sans-serif; margin-bottom: 16px; }
.xc-case-card .xc-case-card__copy h2 { width: 100%; margin: 0 0 8px; font: 700 30px/1.25 Georgia, serif; letter-spacing: -.02em; color: #242126; overflow-wrap: anywhere; }
.xc-case-card--featured .xc-case-card__copy h2 { font-size: 44px; }
.xc-case-card__copy h2 a { color: inherit; }
.xc-case-card__copy h2 a:hover, .xc-case-card__copy h2 a:focus-visible { color: #A22D6D; }
.xc-case-card__excerpt { color: #888; font: 400 18px/1.6 Arial, Helvetica, sans-serif; margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.xc-case-card--featured .xc-case-card__excerpt { -webkit-line-clamp: 5; line-clamp: 5; }
.xc-case-card:not(.xc-case-card--featured) .xc-case-card__excerpt { margin-bottom: auto; }
.xc-case-card__read { position: relative; display: inline-flex; gap: 10px; align-items: center; color: #000; font: 400 18px/1.6 Arial, Helvetica, sans-serif; margin-top: 40px; text-decoration: none; }
.xc-case-card__read::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; opacity: 0; transition: opacity .2s; }
.xc-case-card__read:hover, .xc-case-card__read:focus-visible { color: #000; text-decoration: none; }
.xc-case-card__read:hover::after, .xc-case-card__read:focus-visible::after { opacity: 1; }
.xc-case-pagination { display: flex; justify-content: center; margin-top: 100px; }
.xc-case-pagination .page-numbers { min-width: 60px; text-align: center; padding: 12px 16px; border-bottom: 1px solid #d8d8d8; color: #111; text-decoration: none; font-size: 18px; }
.xc-case-pagination .current { border-bottom: 3px solid #111; padding-bottom: 10px; }
.xc-case-catalog__empty { text-align: center; }
@media (max-width: 1199px) {
    .xc-case-catalog__grid { column-gap: 32px; }
    .xc-case-card--featured { min-height: 560px; }
    .xc-case-card--featured .xc-case-card__image { min-height: 558px; }
    .xc-case-card--featured .xc-case-card__copy { padding: 32px; }
    .xc-case-card--featured .xc-case-card__copy h2 { font-size: 36px; }
    .xc-case-card { grid-column: span 3; }
    .xc-case-card--featured { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
    .xc-case-catalog .xc-case-catalog__heading { font-size: 40px; margin-bottom: 48px; }
    .xc-case-catalog__grid { grid-template-columns: minmax(0, 1fr); }
    .xc-case-card, .xc-case-card--featured { grid-column: 1; }
    .xc-case-card--featured { display: block; min-height: 0; }
    .xc-case-card--featured .xc-case-card__image { aspect-ratio: 9 / 5; min-height: 0; }
    .xc-case-card--featured .xc-case-card__copy { padding: 24px; }
    .xc-case-card .xc-case-card__copy h2 { font-size: 28px; }
    .xc-case-card__copy { min-height: 250px; }
}
.editor-styles-wrapper .xc-case-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 24px; }
.editor-styles-wrapper .xc-case-card { grid-column: span 1; }
.editor-styles-wrapper .xc-case-card--featured { grid-column: 1 / -1; min-height: 480px; }
.editor-styles-wrapper .xc-case-card--featured .xc-case-card__image { min-height: 478px; }
.editor-styles-wrapper .xc-case-card--featured .xc-case-card__copy { padding: 32px; }
.editor-styles-wrapper .xc-case-recent .xc-case-catalog__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.xc-case-catalog--archive .xc-case-catalog__grid { gap: 60px; }
@media(max-width:1199px){.xc-case-catalog--archive .xc-case-catalog__grid{gap:32px}}
.editor-styles-wrapper .xc-case-catalog--archive .xc-case-catalog__grid { gap: 24px; }
@media(max-width:767px){.xc-case-recent__heading h2{font-size:36px}.editor-styles-wrapper .xc-case-recent .xc-case-catalog__grid{grid-template-columns:1fr}}

/* Projects uses the existing case records with an independent card presentation. */
.xc-projects{background:#fff9f7;padding:100px var(--site-gutter)}
.xc-projects__grid{margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:26.6667px;row-gap:36px}
.xc-project-card { min-width: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.xc-project-card__link { display: flex; flex-direction: column; height: 100%; color: var(--plum); }
.xc-project-card__image { aspect-ratio: 4 / 3; width: 100%; overflow: hidden; background: var(--powder); }
.xc-project-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.xc-project-card__body { padding: 24px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.xc-project-card h3 { font: 400 22px/1.35 Georgia, serif; letter-spacing: -.015em; color: var(--plum); margin: 0 0 12px; overflow-wrap: anywhere; min-height: 2.7em; }
.xc-project-card p { font: 400 15px/1.7 Arial, sans-serif; color: var(--muted); margin: 0 0 24px; min-height: 3.4em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.xc-project-card__button { margin-top: auto; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 10px 18px; min-height: 44px; border: 1px solid var(--brand); border-radius: 4px; color: var(--brand); font: 400 15px/1.4 Arial, sans-serif; transition: background .2s, color .2s; }
.xc-project-card__button span { font-size: 22px; line-height: 1; }
.xc-project-card__link:is(:hover,:focus-visible) .xc-project-card__button { background: var(--brand); color: var(--paper); }
.xc-project-card__link:focus-visible { outline: 2px solid var(--brand); outline-offset: -3px; }
@media(max-width:1199px){.xc-projects{padding-inline:var(--site-gutter)}.xc-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 28px}}
@media(max-width:1024px){.xc-projects{padding-block:var(--section-space)}.xc-solution-intro + .xc-projects{padding-top:calc(var(--section-space) / 2)}}
@media(max-width:767px){.xc-projects__grid{grid-template-columns:1fr;gap:48px}.xc-project-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.xc-project-card p,.xc-project-card__arrow{transition:none}}

.xc-case-catalog--archive .xc-case-catalog__grid:first-child { margin-top: 72px; }
@media (max-width: 767px) { .xc-case-catalog--archive .xc-case-catalog__grid:first-child { margin-top: 48px; } }

/* Case archive editorial layout. */
.xc-case-catalog--archive { padding: 100px 0; }

.xc-case-catalog--archive .xc-case-catalog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 100px 48px; }
.xc-case-catalog--archive .xc-case-catalog__grid:first-child { margin-top: 0; }
.xc-case-catalog--archive .xc-case-card { grid-column: auto; border: 0; background: transparent; }
.xc-case-catalog--archive .xc-case-card .xc-case-card__image { position: relative; aspect-ratio: 4 / 3; min-height: 0; border-radius: 5px; background: var(--powder); }
.xc-case-catalog--archive .xc-case-card .xc-case-card__image img { position: static; width: 100%; height: 100%; object-fit: cover; }
.xc-case-catalog--archive .xc-case-card__copy { min-height: 0; padding: 24px 0 0; }
.xc-case-catalog--archive .xc-case-card__copy time { font: 400 12px/1.5 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 20px; }
.xc-case-catalog--archive .xc-case-card .xc-case-card__copy h2 { font: 400 clamp(24px, 1.7vw, 30px)/1.35 Georgia, serif; letter-spacing: -.02em; color: var(--plum); margin-bottom: 22px; }
.xc-case-catalog--archive .xc-case-card__excerpt { color: var(--muted); font-size: 16px; line-height: 1.75; -webkit-line-clamp: 3; line-clamp: 3; }
.xc-case-catalog--archive .xc-case-card__read { margin-top: auto; color: var(--brand); font-size: 15px; gap: 28px; padding-bottom: 8px; border-bottom: 1px solid var(--brand); }
.xc-case-catalog--archive .xc-case-card__read::after { display: none; }
.xc-case-catalog--archive .xc-case-card__read:hover { color: var(--brand-dark); }
.xc-case-catalog--archive .xc-case-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); min-height: 0; background: var(--powder); border-radius: 6px; overflow: hidden; margin-bottom: 12px; }
.xc-case-catalog--archive .xc-case-card--featured .xc-case-card__image { aspect-ratio: auto; border-radius: 0; height: clamp(300px, 25vw, 440px); }
.xc-case-catalog--archive .xc-case-card--featured .xc-case-card__copy { padding: clamp(28px, 3vw, 48px); align-self: center; }
.xc-case-catalog--archive .xc-case-card--featured .xc-case-card__copy h2 { font-size: clamp(28px, 2.1vw, 38px); }
.xc-case-catalog--archive .xc-case-card--featured .xc-case-card__excerpt { -webkit-line-clamp: 4; line-clamp: 4; }
.xc-case-catalog--archive .xc-case-pagination { margin-top: 64px; }
@media (max-width: 900px) {
    .xc-case-catalog--archive .xc-case-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .xc-case-catalog--archive .xc-case-card--featured { grid-template-columns: minmax(0, 1fr); }
    .xc-case-catalog--archive .xc-case-card--featured .xc-case-card__image { aspect-ratio: 16 / 9; height: auto; }
}
@media (max-width: 767px) {
    .xc-case-catalog--archive { padding: 64px 0; }
    .xc-case-catalog--archive .xc-case-catalog__grid { grid-template-columns: minmax(0, 1fr); gap: 64px; }
    .xc-case-catalog--archive .xc-case-card { grid-column: 1; }
    .xc-case-catalog--archive .xc-case-card--featured .xc-case-card__copy { padding: 26px; }
    .xc-case-catalog--archive .xc-case-card .xc-case-card__copy h2 { font-size: 28px; }
}
.xc-project-pagination { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 56px; }
.xc-project-pagination > a, .xc-project-pagination > span[aria-disabled] { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; padding: 10px 4px; border: 0; color: var(--plum); font-size: 15px; }
.xc-project-pagination > a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 5px; }
.xc-project-pagination > span[aria-disabled] { color: var(--muted); opacity: .4; }
.xc-project-pagination__count { color: var(--muted); font-size: 14px; }
@media(max-width:479px) { .xc-project-pagination { gap: 12px; } .xc-project-pagination > a, .xc-project-pagination > span[aria-disabled] { padding-inline: 4px; } }
.single-case .xc-case-recent .xc-case-catalog__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
@media(max-width:1199px){.single-case .xc-case-recent .xc-case-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:767px){.single-case .xc-case-recent .xc-case-catalog__grid{grid-template-columns:minmax(0,1fr)}}
.single-case .xc-case-recent .xc-case-card { grid-column: auto; }
.single-case .xc-case-recent .xc-case-card__image { aspect-ratio: 3 / 2; }
