/* 首页：身份、精选成果与履历入口组成同一张Bento。 */
.home-bento {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.58fr);
  grid-template-rows:minmax(454px,1fr) 104px 132px;
  gap:16px;
  width:100%;
  min-height:714px;
}
.home-identity,.home-work,.home-proof,.home-photo-strip {
  min-width:0;
  border:1px solid var(--line-2);
  border-radius:var(--r-xl);
  background:var(--panel);
  box-shadow:none;
}
.home-identity {
  position:relative;
  grid-row:1/4;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:clamp(26px,3vw,40px);
}
.home-identity::after {
  position:absolute;
  right:-28px;
  bottom:-58px;
  width:clamp(32px,calc(100% - 270px),182px);
  height:182px;
  background:var(--acc);
  content:"";
  clip-path:polygon(38% 0,100% 0,100% 100%,0 100%);
}
.home-identity__copy {position:relative;z-index:1}
.home-identity__eyebrow {display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;letter-spacing:.12em}
.home-identity__eyebrow small {font-size:12px;letter-spacing:.06em}
.home-identity h1 {margin-top:16px;color:var(--ink);font-size:clamp(42px,5vw,64px);font-weight:760;line-height:1.08}
.home-identity__focus {margin-top:12px;font-size:16px;font-weight:600;line-height:1.5;color:var(--ink-2)}
.home-identity__rule {width:44px;height:3px;margin-top:20px;background:var(--acc)}
.home-identity__education {display:grid;gap:22px;margin-top:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.home-identity__education>div {position:relative;padding-left:48px}
.home-identity__education dt {display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:16px;font-weight:650;line-height:1.5}
.home-identity__education dt time {color:var(--muted);font-size:12px;font-weight:400;white-space:nowrap}
.home-identity__education dt img {position:absolute;left:0;top:4px;display:block;width:34px;height:34px;object-fit:cover;object-position:left center}
.home-identity__education dd {display:flex;flex-wrap:wrap;gap:2px 10px;margin:5px 0 0;font-size:14px;line-height:1.6}
.home-identity__education dd small {color:var(--muted);font-size:13px;line-height:1.7231}
.home-identity__details {display:grid;grid-template-columns:1fr 1.35fr;gap:20px 16px;margin-top:22px;font-size:14px;line-height:1.6}
.home-identity__details>div {min-width:0}
.home-identity__details>div:nth-child(n+3) {grid-column:1/-1}
.home-identity__details dt {color:var(--muted);font-size:12px;line-height:1.5}
.home-identity__details dd {min-width:0;margin:6px 0 0;color:var(--ink-2)}
.home-identity__details ul {display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;list-style:none}
.home-identity__details li {white-space:nowrap}
.home-identity__details .home-identity__qualifications {display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px}
.home-identity__qualifications li {display:flex;flex-direction:column;gap:3px;white-space:normal}
.home-identity__qualifications span {font-size:12px;color:var(--muted)}
.home-identity__qualifications strong {color:var(--ink);font-weight:650}
.home-identity__details>div:last-child ul {font-size:13px}
.home-identity__actions {position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:28px}
.home-identity__actions .btn {padding-inline:18px}
.home-identity__primary {background:var(--ink);color:var(--panel)}
.home-identity__primary:hover {background:var(--acc-d);color:#fff}
.home-mobile-portrait {display:none}

/* 主卡与两张辅助卡共享清晰的文字区和图片区。 */
.home-work {
  --home-pointer-x:50%;--home-pointer-y:50%;--home-shift-x:0px;--home-shift-y:0px;
  position:relative;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  min-height:0;
  padding:9px;
  overflow:hidden;
  background:#f3f2ee;
  isolation:isolate;
}
.home-work__atmosphere {position:absolute;z-index:0;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .6s var(--e)}
.home-work.is-atmosphere-ready .home-work__atmosphere {opacity:.5}
.home-carousel__stage {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,.4fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:0;
  min-height:0;
}
/* 三卡换位：位置、伸缩与圆角同步变化，过渡副本不参与交互。 */
.home-carousel__stage.is-flowing{overflow:hidden;isolation:isolate}
.home-carousel__stage.is-flowing > .home-project-slide{transform-origin:top left;will-change:transform;border-color:transparent}
.home-carousel__flow-ghost{position:absolute!important;z-index:3;grid-area:auto!important;margin:0;pointer-events:none;transform-origin:top left}
.home-project-slide {
  position:relative;
  display:grid;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(18,18,17,.12);
  border-radius:var(--radius-panel);
  color:var(--ink);
  transition:border-color .2s var(--e),background-color .2s var(--e);
}
.home-project-slide:hover {border-color:currentColor}
.home-project-slide:focus-visible {outline:2px solid var(--acc);outline-offset:-4px}
.home-project-slide.is-parked {display:none}
.home-project-slide.is-lead {grid-column:1;grid-row:1/3;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:24px 24px 42px}
.home-project-slide.is-support {grid-column:2;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px}
.home-project-slide.is-support--top {grid-row:1}
.home-project-slide.is-support--bottom {grid-row:2}
.home-project-slide__copy {position:relative;z-index:2;display:flex;min-width:0;flex-direction:column;align-items:flex-start}
.home-project-slide__copy>strong {margin-top:0;font-size:24px;font-weight:740;line-height:1.25;text-wrap:balance}
.home-project-slide__copy>p {margin-top:8px;font-size:14px;line-height:1.6}
.home-project-slide__copy>small {margin-top:10px;color:var(--muted);font-size:12px;line-height:1.6}
.home-project-slide__logo {display:block;width:154px;max-width:100%;height:auto;margin-top:0}
.home-project-slide__cta {position:absolute;left:24px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:12px;line-height:1.4}
.home-project-slide__visual {position:relative;display:grid;min-width:0;min-height:0;overflow:hidden;border-radius:var(--radius-media);place-items:center}
.home-project-slide__visual>img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center top;
  border-radius:0;
}
.home-project-slide__visual>.home-visual-secondary,
.home-project-slide__visual>.home-photo-skill__secondary,
.home-project-slide__visual>.home-survey-page {display:none}
.home-project-slide.is-support .home-project-slide__copy>strong {margin-top:0;font-size:14px;line-height:1.4}
.home-project-slide.is-support .home-project-slide__copy>p,
.home-project-slide.is-support .home-project-slide__copy>small,
.home-project-slide.is-support .home-project-slide__cta {display:none}
.home-project-slide.is-support .home-project-slide__logo {width:128px;margin-top:0}
.home-project-slide.is-support.home-project-slide--option .home-project-slide__copy>strong {display:none}
.home-project-slide--option,.home-project-slide--photo-skill {background:#202321;color:#fff}
.home-project-slide--option .home-project-slide__copy>small,
.home-project-slide--photo-skill .home-project-slide__copy>small {color:#bcc4bf}
.home-project-slide--quant {background:#27333a;color:#f1f4f3}
.home-project-slide--survey {background:#e2ead9;color:#1c2d22}
.home-project-slide--survey .home-project-slide__copy>small {color:#526b59}
.home-project-slide--research {background:var(--home-research-bg,#f1f3f1);color:var(--home-research-ink,#202321)}
.home-project-slide--research .home-project-slide__copy>small {color:color-mix(in srgb,var(--home-research-ink) 76%,transparent)}
.home-project-slide--paper {background:var(--home-paper-bg,#f2f0ea);color:var(--home-paper-ink,#26384c)}
.home-project-slide--paper .home-project-slide__copy>small {color:color-mix(in srgb,var(--home-paper-ink) 76%,transparent)}
.home-project-slide--catalog {background:var(--project-surface);color:var(--project-ink)}
.home-project-slide--catalog .home-project-slide__copy>small {color:color-mix(in srgb,var(--project-ink) 78%,transparent)}
.home-project-slide__visual--survey>img {object-fit:contain}
.home-project-slide__visual--paper>img {object-fit:contain;background:#fff}
.home-paper-mark {position:absolute;z-index:1;right:6px;bottom:6px;padding:4px 6px;background:var(--home-paper-accent,var(--acc));color:#fff;font-size:11px;line-height:1.3}
.home-photo-skill__pipeline,.home-photo-skill__count {display:none}
.home-project-slide__visual--backtest {background:#fafbf9;border-radius:var(--radius-media)}
.home-project-slide__visual--backtest>img {object-fit:contain;object-position:center}
.home-project-slide--chart {isolation:isolate;background-color:color-mix(in srgb,var(--project-surface) 96%,transparent);background-image:linear-gradient(135deg,rgba(255,255,255,.065),transparent 48%);border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.08),0 3px 8px rgba(18,24,22,.08);-webkit-backdrop-filter:blur(12px) saturate(108%);backdrop-filter:blur(12px) saturate(108%)}
.home-project-slide--chart::before {position:absolute;inset:0;z-index:-1;border-radius:inherit;background:url('../identity/matte-grain.svg') repeat;opacity:.04;mix-blend-mode:soft-light;pointer-events:none;content:""}
.home-project-slide--chart:hover {border-color:rgba(255,255,255,.28)}
.home-project-slide--chart .home-project-slide__visual--backtest,
.home-project-slide--chart .home-project-slide__visual--backtest>img {background:transparent;border-radius:0}
.home-project-slide.is-support .home-signal-map b,.home-project-slide.is-support .home-signal-map i {min-height:26px;font-size:14px}
.home-project-slide.is-support .home-signal-map em {display:none}

.home-carousel__feedback {grid-column:1/-1;position:relative;z-index:3;font-size:13px;color:var(--acc-d)}
.home-carousel__feedback:empty {display:none}
.home-carousel__feedback button {min-height:44px;margin-left:8px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* 履历入口与摄影横带保持紧凑，作为主成果下方的第二阅读层。 */
.home-proof {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden}
.home-proof a {display:flex;min-width:0;flex-direction:column;justify-content:center;padding:16px 20px;border-left:1px solid var(--line)}
.home-proof a:first-child {border-left:0}
.home-proof span,.home-proof small {font-size:12px;color:var(--muted);line-height:1.5}
.home-proof span {display:flex;align-items:center;gap:6px}
.home-proof .inline-direction-arrow {flex:none;width:12px;height:12px}
.home-proof strong {margin-top:4px;font-size:14px;line-height:1.5}
.home-proof small {margin-top:3px}
.home-proof a:hover strong,.home-proof a:focus-visible strong {color:var(--acc-d)}
.home-photo-strip {--photo-gap:6px;position:relative;isolation:isolate;grid-column:2;grid-row:3;display:grid;grid-template-columns:140px minmax(0,1fr);overflow:hidden;background:#171918;color:#fff}
.home-photo-strip__label {display:flex;flex-direction:column;justify-content:center;padding:16px 20px}
.home-photo-strip__label strong {font-size:22px;line-height:1.2}
.home-photo-strip__label em {margin-top:8px;color:#c0c6c2;font-size:12px;font-style:normal}
.home-photo-strip__viewport {min-width:0;overflow:hidden;padding:6px 0}
.home-photo-strip__track {display:flex;width:max-content;height:100%;gap:var(--photo-gap);animation:home-photo-marquee 38s linear infinite}
.home-photo-strip__group {display:flex;height:100%;gap:var(--photo-gap);flex:none}
.home-photo-strip__group img {display:block;width:auto;height:100%;flex:none;filter:saturate(.8) contrast(1.04)}
.home-photo-strip:hover .home-photo-strip__track,.home-photo-strip:focus-visible .home-photo-strip__track,.home-photo-strip.is-marquee-paused .home-photo-strip__track {animation-play-state:paused}
@keyframes home-photo-marquee {to{transform:translate3d(calc(-50% - var(--photo-gap)/2),0,0)}}

@media(min-width:1081px) {
  .home-bento {grid-template-rows:minmax(392px,1fr) 104px 132px;min-height:660px}
  .cover .wrap {padding-block:32px}
}
@media(max-width:1080px) {
  .home-bento {grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr)}
  .home-identity {padding:24px}
  .home-identity h1 {font-size:44px}
  .home-carousel__stage {grid-template-columns:minmax(0,1fr) 150px}
  .home-project-slide.is-lead {padding:20px 20px 40px;gap:12px}
  .home-project-slide__cta {left:20px;bottom:14px}
  .home-proof a {padding:12px}
}
@media(max-width:800px) {
  .home-bento {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 120px;min-height:0}
  .home-identity {grid-column:1;grid-row:1;padding:20px}
  .home-identity h1 {margin-top:6px;font-size:34px}
  .home-identity__focus {margin-top:8px;font-size:15px}
  .home-identity::after {right:-24px;bottom:-58px;width:min(110px,24%);height:150px}
  .home-identity__rule {width:36px;height:2px;margin-top:12px}
  .home-identity__education {margin-top:16px}
  .home-identity__details>div:last-child {padding-right:66px}
  .home-identity__actions {width:calc(100% - 86px);margin-top:16px;padding:0}
  .home-identity__actions .btn {min-height:44px;padding-inline:12px;font-size:13px}
  .home-mobile-portrait {position:absolute;right:4px;bottom:0;z-index:1;display:block;width:92px;height:auto;transform:scaleX(-1)}
  .home-work {grid-column:1;grid-row:2;padding:7px}
  .home-work__atmosphere {display:none}
  .home-carousel__stage {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(340px,auto) 116px;gap:6px}
  .home-project-slide.is-lead {grid-column:1/3;grid-row:1;grid-template-rows:auto minmax(128px,1fr);gap:12px;min-height:340px;padding:20px 20px 42px}
  .home-project-slide.is-lead .home-project-slide__copy>small {display:none}
  .home-project-slide.is-lead .home-project-slide__visual {max-height:220px}
  .home-project-slide.is-support {grid-row:2;min-height:0;padding:10px;gap:8px}
  .home-project-slide.is-support--top {grid-column:1}
  .home-project-slide.is-support--bottom {grid-column:2}
  .home-project-slide.is-support .home-project-slide__copy>strong {margin:0;line-height:1.4}
  .home-project-slide.is-support .home-project-slide__logo {width:116px;margin:0}
  .home-project-slide__logo {width:144px}
  .home-project-slide__cta {left:20px;bottom:14px}
  .home-proof {grid-column:1;grid-row:3;min-height:102px}
  .home-proof a {padding:12px 10px}
  .home-photo-strip {grid-column:1;grid-row:4;grid-template-columns:104px minmax(0,1fr)}
  .home-photo-strip__label {padding:14px}
}
@media(min-width:601px) and (max-width:800px) {
  .home-project-slide.is-lead {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:1fr;gap:24px;min-height:300px}
  .home-carousel__stage {grid-template-rows:minmax(300px,auto) 116px}
  .home-project-slide.is-lead .home-project-slide__copy {align-self:center}
  .home-project-slide.is-lead .home-project-slide__visual {max-height:none}
}
@media(max-width:420px) {
  .home-identity {padding:16px}
  .home-identity__actions {width:calc(100% - 74px)}
  .home-identity__actions .btn {padding-inline:10px}
  .home-mobile-portrait {right:0;width:82px}
  .home-project-slide.is-lead {padding:18px 18px 40px}
  .home-project-slide.is-support {padding:8px}
  .home-project-slide__cta {left:18px;bottom:12px}
  .home-proof a {padding:10px 7px}
  .home-proof small {display:none}
}
@media(prefers-reduced-motion:reduce) {
  .home-work__atmosphere {display:none}
  .home-project-slide {transition:none}
  .home-photo-strip__track {animation:none}
  .home-photo-strip__group[aria-hidden="true"] {display:none}
}
.home-project-slide .home-project-slide__copy>strong.home-project-title--branded{display:flex;align-items:center;gap:12px}
.home-project-brand{flex:0 0 auto;width:48px;height:48px;object-fit:contain}
.home-project-brand--paper{padding:7px;border-radius:var(--radius-media);background:#fff}
.home-project-slide.is-support .home-project-brand{width:32px;height:32px}
.home-project-slide.is-support .home-project-brand--paper{padding:4px;border-radius:var(--radius-control)}
.home-project-slide.is-support .home-project-slide__copy>strong.home-project-title--branded{display:flex;gap:8px;flex-wrap:wrap}
