/* One quiet image surface; the full-resolution original stays in the viewer. */
.project-card{border:0;background:transparent;box-shadow:none;overflow:visible;cursor:default}
.project-card:hover{border-color:transparent;transform:none;box-shadow:none}
.project-story{background:transparent;border:0;padding:0;display:flex;flex-direction:column;flex:1;text-align:start;width:100%;color:inherit}
.project-story .project-content{flex:1;padding:24px 0 20px}.project-story .project-bottom{margin-top:auto;padding:0 0 20px}
.project-card .project-card-image{position:relative;display:flex;flex-direction:column;width:100%;height:auto;aspect-ratio:auto;gap:10px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:start;cursor:zoom-in;overflow:visible}
.project-image-visual{display:block;width:100%;min-width:0}
.project-card .project-card-image img{display:block;width:100%;height:auto;aspect-ratio:1.85;object-fit:contain;object-position:center;padding:0;background:#fff;border:0;border-radius:14px;box-shadow:0 7px 24px #3a24500a;filter:none;transition:none}
.project-image-open{position:static;align-self:flex-end;display:flex;align-items:center;gap:10px;min-height:30px;padding:3px 0;color:#69518e;background:transparent;border:0;font-size:12px;opacity:1;transform:none;transition:color .2s}
.project-card.is-lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:36px;align-items:center}
.project-card.is-lead .project-card-image{height:100%}.project-card.is-lead .project-image-visual{flex:1;display:flex}.project-card.is-lead .project-card-image img{flex:1;aspect-ratio:auto;min-height:290px}
.project-card.is-lead .project-content{padding-top:10px}.project-card.is-lead h3{font-size:29px;line-height:1.45}
.project-story h3{transition:color .2s}.project-card .project-story:hover h3{color:#69518e}
.project-grid{gap:38px 30px}
.platform-media{min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.platform-media .platform-screen{display:block;position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;margin:0;padding:0;border:0;border-radius:14px;background:transparent;box-shadow:0 8px 28px #32234412;overflow:hidden;cursor:zoom-in}
.platform-media .platform-screen img{display:block;width:100%;height:auto;max-height:none;margin:0;padding:0;object-fit:contain;border:0;border-radius:14px;box-shadow:none;transform:none;transition:none}
.platform-media .platform-screen:hover img{transform:none}
.platform-media.is-portrait{width:min(100%,350px);max-width:350px;justify-self:center}
.platform-media .platform-screen.is-portrait{width:100%;height:auto;max-height:none;aspect-ratio:auto;background:transparent}
.platform-media .platform-screen.is-portrait img{width:100%;height:auto;max-height:none}
.platform-caption{min-height:0;padding:16px 2px 0;border:0;background:transparent}
.market-image-button{display:block;min-height:0;aspect-ratio:auto;margin:0;padding:0;border:0;border-radius:12px;background:transparent;box-shadow:none;overflow:hidden;cursor:zoom-in}
.market-image-button img{display:block;width:100%;height:auto!important;max-height:none;object-fit:contain;border:0;border-radius:12px}
.detail-image-open{display:block;width:100%;position:relative;cursor:zoom-in}.detail-image-open img{width:100%;height:auto;max-height:540px;object-fit:contain}
.detail-image-open>span{display:inline-flex;margin-top:12px;color:#69518e;font-size:14px;min-height:36px;align-items:center}
.image-label-mobile,.image-crop-note,.platform-image-hint{display:none}
.media-expand{position:absolute;inset-inline-end:14px;bottom:14px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffffed;color:#4d3b66;box-shadow:0 2px 12px #21153418;font-size:21px;pointer-events:none}
/* Show the authentic marks individually, instead of shrinking an old logo-wall screenshot. */
.ecosystem-image{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none;cursor:zoom-in}
.ecosystem-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 28px;align-items:center}
.ecosystem-logo{display:grid;place-items:center;min-width:0;height:74px;padding:8px 4px}
.ecosystem-logo svg{display:block;width:100%;height:100%;overflow:hidden;filter:brightness(1.04) contrast(1.04)}
.ecosystem-strip{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:60px}
@media(min-width:721px) and (max-width:1000px){.ecosystem-strip{grid-template-columns:1fr;gap:32px}.ecosystem-logo-grid{gap:22px 30px}}
@media(max-width:850px){.project-card.is-lead{display:flex;grid-column:auto;gap:0}.project-card.is-lead .project-card-image{height:auto}.project-card.is-lead .project-card-image img{flex:none;aspect-ratio:1.85;min-height:0}.project-card.is-lead .project-content{padding-top:24px}.project-card.is-lead h3{font-size:27px}}
@media(max-width:720px){
  /* Let the image lead. A stable, generous viewport also prevents tab changes from jumping. */
  .platform-panel{display:flex;flex-direction:column;gap:28px;align-items:stretch}
  .platform-media,.platform-media.is-portrait{order:-1;align-self:stretch;width:calc(100% + 24px);max-width:none;margin-inline:-12px;justify-self:stretch}
  .platform-media .platform-screen,.platform-media .platform-screen.is-portrait{aspect-ratio:1.16;height:auto;width:100%;border-radius:17px;background:#f6f4f9;box-shadow:0 12px 28px #32234410}
  .platform-media .platform-screen img,.platform-media .platform-screen.is-portrait img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--image-focus,50% 0%);border-radius:0;max-height:none}
  #platform-image[data-media=a-share-workbench]{--image-focus:25% 0%;transform:scale(1.025)}
  #platform-image[data-media=research-strategies]{--image-focus:0% 0%}
  #platform-image[data-media=trade-console]{--image-focus:0% 0%;transform:translateY(-31px) scale(1.27);transform-origin:8% 0%}
  #platform-image[data-media=forecast]{object-fit:contain;--image-focus:50% 50%;background:#fff}
  #platform-image[data-media=wealth-client-20261014]{--image-focus:50% 90%}
  .platform-media .platform-screen:hover img{transform:inherit}
  .platform-media .platform-screen:hover #platform-image[data-media=a-share-workbench]{transform:scale(1.025)}
  .platform-media .platform-screen:hover #platform-image[data-media=trade-console]{transform:translateY(-31px) scale(1.27)}
  .platform-image-hint{display:block;padding:13px 12px 0;font-size:12px;line-height:1.6;color:#69518e}
  .platform-caption{padding:7px 12px 0;font-size:12px;line-height:1.75;color:#766d80}
  .platform-copy h3{font-size:27px;line-height:1.45}
  .platform-copy .inline-link{margin-top:12px}
  .project-grid{grid-template-columns:1fr;gap:44px}
  .project-card .project-card-image{width:calc(100% + 24px);margin-inline:-12px;gap:0}
  .project-card .project-image-visual,.project-card.is-lead .project-image-visual{display:block;flex:none;position:relative;aspect-ratio:1.45;border-radius:17px;overflow:hidden;box-shadow:0 10px 25px #3223440c}
  .project-card .project-card-image img,.project-card.is-lead .project-card-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:var(--image-focus,65% 50%);padding:0;border-radius:0;min-height:0;box-shadow:none;transform:scale(var(--image-zoom,1));transform-origin:50% 0%}
  .project-card-image img[data-media=us-signal-trend],.market-image-button img[data-media=us-signal-trend]{--image-focus:58% 50%}
  .project-card-image img[data-media=us-signal-trend]{--image-zoom:1.13}
  .project-card-image img[data-media=a-share-hengrui-600276],.market-image-button img[data-media=a-share-hengrui-600276]{--image-focus:85% 50%}
  .project-card-image img[data-media=a-share-seres-601127]{--image-focus:73% 50%}
  .project-card-image img[data-media=crypto-signal-ethusdt],.market-image-button img[data-media=crypto-signal-ethusdt]{--image-focus:59% 50%}
  .project-image-open{width:100%;align-self:auto;justify-content:space-between;padding:10px 12px 0;font-size:12px;line-height:1.6;min-height:38px;color:#766d80}
  .project-image-open b{font-size:17px;color:#69518e;font-weight:400}
  .image-label-desktop{display:none}.image-label-mobile{display:inline}
  .project-story .project-content,.project-card.is-lead .project-content{padding:19px 0 17px}
  .project-content h3,.project-card.is-lead h3{font-size:25px;line-height:1.45;margin-top:10px}
  .project-content>p:not(.eyebrow){margin-top:13px}
  .project-story .project-bottom{padding:0 0 24px;border-bottom:1px solid #e7e1ed}
  /* One visual surface in the market module, with the same detail scale as the cases. */
  .market-panel{padding:0;gap:25px;border:0;border-radius:0;background:transparent;box-shadow:none}
  .market-visual{order:-1;padding:0;border:0;background:transparent;border-radius:0}
  .visual-topline{padding:0 0 13px;font-size:12px}
  .market-image-button{position:relative;border-radius:17px;margin-inline:-12px;width:calc(100% + 24px)}
  .market-image-button img{aspect-ratio:1.45;height:auto!important;object-fit:cover;object-position:var(--image-focus,65% 50%);border-radius:17px}
  .market-image-button img[data-media=us-signal-trend]{transform:scale(1.13);transform-origin:50% 0%}
  .market-image-button .image-open{opacity:1;transform:none;width:40px;height:40px;right:14px;bottom:14px;font-size:21px}
  .visual-caption{margin-top:12px;font-size:12px;line-height:1.75;color:#766d80}
  .image-crop-note{display:block;color:#69518e;margin-top:3px}
  .market-copy h3{font-size:27px}.market-copy .market-description{margin-top:13px}
  /* Company marks need space and a consistent optical size, without another frame. */
  .partner-grid{gap:32px}
  .partner-card{padding:0 0 29px;background:transparent;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid #e7e1ed}
  .partner-card>img{display:block;width:205px;max-width:84%;height:auto;max-height:75px;object-fit:contain;object-position:left center;margin:0 0 22px}
  .partner-card h3{font-size:23px}
  .ecosystem-strip{grid-template-columns:1fr;gap:30px;padding-top:38px;margin-top:38px}
  .ecosystem-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px}
  .ecosystem-logo{height:77px;padding:8px 4px}
  .ecosystem-image{margin:0;padding:0;filter:none;transform:none}
  .detail-figure{padding:0;border:0;background:transparent;border-radius:0}
  .detail-image-open{padding:0;border:0;background:transparent}
  .detail-image-open img{border-radius:12px}
}
/* The viewer stays within the viewport; only the original image can be panned. */
.image-dialog{width:calc(100% - 40px);max-width:1580px;height:calc(100dvh - 40px);max-height:none;margin:auto;padding:0;border-radius:24px;border:1px solid #e0d6e9;background:#fcfbfe;overflow:hidden;box-shadow:0 28px 100px #1a0f3a33}
.image-dialog::backdrop{background:#20172c9c;backdrop-filter:blur(9px)}
.image-dialog .dialog-inner{height:100%;display:flex;flex-direction:column;gap:12px;padding:24px;min-height:0;box-sizing:border-box}
.image-dialog .dialog-heading{position:static;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:0;background:none;flex:none}
.image-dialog .dialog-heading .eyebrow{font-size:10px;margin:0 0 8px;color:#897399}.image-dialog .dialog-heading h2{font-size:25px;line-height:1.35;letter-spacing:-.025em;margin:0}
.image-dialog .dialog-close{position:static;flex:none;width:44px;height:44px;background:#eee7f5;box-shadow:none}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.gallery-zoom-controls{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.gallery-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 13px;border:1px solid #e0d6e9;background:#fff;border-radius:9px;color:#705188;font-size:13px;white-space:nowrap}
.gallery-toolbar button:hover{background:#eee5f6}.gallery-toolbar button[aria-pressed=true]{background:#69518e;color:#fff;border-color:#69518e}
.gallery-toolbar button:disabled{opacity:.35;cursor:default}.gallery-toolbar #gallery-zoom-in,.gallery-toolbar #gallery-zoom-out{font-size:20px;padding:6px;min-width:44px}
#gallery-zoom-value{font-size:12px;color:#8a7798;min-width:45px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-nav{display:flex;align-items:center;gap:8px}.gallery-nav #gallery-status{font-size:12px;color:#87718f;white-space:nowrap;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
.image-dialog .dialog-image-wrap{position:relative;flex:1;min-height:120px;margin:0;padding:0;border:1px solid #e3dbe9;border-radius:15px;background:radial-gradient(ellipse at center,#fff,#f0ebf6);overflow:hidden}
.image-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:zoom-in;outline-offset:-4px}
.image-viewport[data-pannable=true]{cursor:grab}.image-viewport[data-dragging=true]{cursor:grabbing}
.image-viewport #dialog-image{position:absolute;left:50%;top:50%;width:auto;height:auto;max-width:none;max-height:none;object-fit:initial;margin:0;transform-origin:center;user-select:none;pointer-events:none;border-radius:3px;box-shadow:0 4px 22px #3c285e15}
.image-viewport[data-loading=true] #dialog-image{opacity:0}
.gallery-load-status{display:none;position:absolute;inset:0;place-items:center;color:#80668f;font-size:14px}.image-viewport[data-loading=true] .gallery-load-status,.image-viewport[data-loading=error] .gallery-load-status{display:grid}
.gallery-thumbnails{display:flex;gap:8px;flex:none;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 2px 5px;scrollbar-width:thin;scrollbar-color:#c7b5d5 transparent}
.gallery-thumbnails button{width:82px;height:53px;flex:none;padding:5px;border:1px solid #e2d9e9;background:#fff;border-radius:8px;transition:border-color .2s,background .2s}
.gallery-thumbnails button[aria-pressed=true]{background:#e9def3;border:2px solid #8b65aa;padding:4px}
.gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:contain;border-radius:3px}
.image-dialog .dialog-caption{flex:none;margin:0;font-size:13px;line-height:1.75;color:#796583;max-height:3.5em;overflow:auto;padding:0}
.image-dialog .dialog-footer{margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6;flex:none;min-height:32px;color:#8a7496}
.image-dialog .dialog-footer a{color:#69518e;min-height:36px;display:flex;align-items:center;gap:8px;flex:none}
@media(max-width:720px){
.image-dialog{width:calc(100% - 16px);height:calc(100dvh - 16px);border-radius:17px}.image-dialog .dialog-inner{padding:14px;gap:9px}.image-dialog .dialog-heading{gap:12px}.image-dialog .dialog-heading h2{font-size:19px;line-height:1.4}.image-dialog .dialog-heading .eyebrow{font-size:8px;margin-bottom:5px}.image-dialog .dialog-close{width:40px;height:40px}.gallery-toolbar{flex-wrap:wrap;gap:5px}.gallery-toolbar button{padding-inline:10px;font-size:12px}.gallery-nav{margin-inline-start:auto}.image-dialog .dialog-image-wrap{border-radius:11px}.gallery-thumbnails button{width:67px;height:46px}.image-dialog .dialog-caption{font-size:12px;max-height:3.5em}.image-dialog .dialog-footer{font-size:11px;gap:10px}.image-dialog .dialog-footer>span{max-width:20em}.image-dialog .dialog-footer a{min-height:36px}}
@media(max-width:420px){#gallery-zoom-value{display:none}.gallery-toolbar{gap:5px}.gallery-nav{width:100%;justify-content:space-between}.gallery-nav button{min-height:32px;padding-block:3px}.gallery-nav #gallery-status{flex:1}.gallery-zoom-controls{justify-content:space-between;width:100%}.image-dialog .dialog-heading h2{font-size:18px}.image-dialog .dialog-footer>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-image-frame,.project-image-open,.project-story h3,.gallery-thumbnails button{transition:none}.project-card-image:hover .project-image-frame{transform:none}}

@media(prefers-reduced-motion:reduce){.image-dialog[open]{animation:none}}body[data-motion=paused] .image-dialog[open]{animation:none}
/* Compact chrome for short windows; image navigation remains available. */
@media(max-height:650px){.image-dialog .dialog-footer{flex-direction:row;justify-content:flex-end;min-height:32px}.image-dialog .dialog-footer>span{display:none}}
@media(max-height:550px){.image-dialog .dialog-inner{padding:14px;gap:8px}.gallery-thumbnails{display:none}.image-dialog .dialog-caption{max-height:1.8em}.image-dialog .dialog-image-wrap{min-height:90px}.image-dialog .dialog-heading h2{font-size:20px;line-height:1.3}.image-dialog .dialog-heading .eyebrow{margin-bottom:5px}.image-dialog{height:calc(100dvh - 20px)}}
