/* 2026 motion layer — warm spatial narrative */
:root {
  --motion-ease: cubic-bezier(.22, 1, .36, 1);
  --motion-orange: #ff5a1f;
  --motion-amber: #ffb347;
  --motion-ink: #21160f;
}

html.motion-v2 { scroll-behavior: auto; }
html.motion-v2 body { overflow-x: clip; }

.route-transition {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  background: linear-gradient(135deg, #ffb347 0%, #ff6a28 52%, #e94712 100%);
  transform: translate3d(0, 102%, 0);
  will-change: transform;
}

.route-transition::after {
  content: "木";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.94);
  font-size: clamp(48px, 8vw, 104px);
  font-weight: 700;
  letter-spacing: .08em;
}

/* Hero prism */
.motion-v2 .hero {
  min-height: 100svh;
  isolation: isolate;
  transform-origin: 50% 28%;
  will-change: transform, opacity;
}

.motion-v2 .hero-content { perspective: 1200px; }
.motion-v2 .liquid-stage {
  --prism-rx: 0deg;
  --prism-ry: 0deg;
  --prism-x: 0px;
  --prism-y: 0px;
  transform: translate3d(var(--prism-x), var(--prism-y), 0)
    rotateX(var(--prism-rx)) rotateY(var(--prism-ry));
  transform-style: preserve-3d;
  will-change: transform;
}

.motion-v2 .liquid-stage::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 42% 58% 54% 46% / 45% 42% 58% 55%;
  background: radial-gradient(circle at 32% 24%, rgba(255,255,255,.72), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,91,30,.22));
  border: 1px solid rgba(255,255,255,.48);
  box-shadow: inset 0 1px rgba(255,255,255,.76), 0 28px 80px rgba(201,76,21,.18);
  backdrop-filter: blur(2px);
  transform: translateZ(38px);
  pointer-events: none;
  animation: prismBreathe 7s ease-in-out infinite alternate;
}

@keyframes prismBreathe {
  from { border-radius: 42% 58% 54% 46% / 45% 42% 58% 55%; }
  to { border-radius: 57% 43% 44% 56% / 55% 58% 42% 45%; }
}

.motion-v2 .hero-title .line { overflow: hidden; }
.motion-v2 .hero-title .line > span {
  animation: none;
  transform: translateY(116%) rotate(2deg);
  opacity: 0;
  will-change: transform;
}

.motion-v2.motion-ready .hero-title .line > span {
  transform: translateY(0) rotate(0);
  opacity: 1;
  transition: transform 1s var(--motion-ease), opacity .65s ease;
}

.motion-v2.motion-ready .hero-title .line:nth-child(2) > span { transition-delay: .1s; }
.motion-v2 .hero-eyebrow,
.motion-v2 .hero-desc,
.motion-v2 .hero-actions,
.motion-v2 .hero-stats,
.motion-v2 .liquid-stage {
  opacity: 0;
  transform-origin: center;
}

.motion-v2.motion-ready .hero-eyebrow,
.motion-v2.motion-ready .hero-desc,
.motion-v2.motion-ready .hero-actions,
.motion-v2.motion-ready .hero-stats {
  opacity: 1;
  transition: opacity .75s ease, transform .9s var(--motion-ease);
}

.motion-v2.motion-ready .hero-eyebrow { transition-delay: .18s; }
.motion-v2.motion-ready .hero-desc { transition-delay: .26s; }
.motion-v2.motion-ready .hero-actions { transition-delay: .34s; }
.motion-v2.motion-ready .hero-stats { transition-delay: .42s; }
.motion-v2.motion-ready .liquid-stage { opacity: 1; transition: opacity 1s .14s ease; }

/* Scroll-reactive image ribbon */
.motion-marquee {
  position: relative;
  z-index: 3;
  height: 190vh;
  padding: 0;
  background:
    radial-gradient(circle at 82% 18%, rgba(129, 174, 213, .18), transparent 32%),
    linear-gradient(180deg, #f4f1ec 0%, #eeeae4 100%);
}

.motion-marquee__sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100svh;
  padding: clamp(84px, 9vh, 112px) 0 clamp(36px, 5vh, 64px);
  overflow: hidden;
}

.motion-marquee-head,
.motion-marquee__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  width: calc(100% - 12vw);
  margin: 0 auto 36px;
}

.motion-marquee__header > span:first-child,
.motion-marquee-kicker { color: var(--motion-orange); font-size: 12px; letter-spacing: .24em; text-transform: uppercase; }
.motion-marquee__header > span:last-child { color: var(--muted); font-size: 13px; letter-spacing: .08em; }
.motion-marquee-title { margin: 8px 0 0; font-size: clamp(30px, 4.5vw, 64px); line-height: 1.05; letter-spacing: -.04em; }
.motion-marquee-note { max-width: 280px; color: var(--muted); line-height: 1.8; text-align: right; }
.motion-marquee-viewport,
.motion-marquee__viewport { overflow: hidden; }
.motion-marquee-track,
.motion-marquee__track { display: flex; width: max-content; padding-left: 6vw; will-change: transform; }
.motion-marquee-group,
.motion-marquee__group { display: flex; gap: clamp(18px, 2vw, 32px); padding-right: 6vw; }
.motion-marquee figure {
  width: clamp(300px, 32vw, 520px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 28px;
  background: rgba(255,255,255,.56);
  box-shadow: 0 22px 70px rgba(98,54,24,.12);
}
.motion-marquee img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.motion-marquee figcaption { padding: 14px 18px 16px; color: #5d4b3e; font-size: 13px; letter-spacing: .06em; }

/* Long-form capability scene */
.capability-deck {
  --deck-progress: 0;
  position: relative;
  height: 320vh;
  background:
    radial-gradient(circle at 76% 48%, rgba(255, 116, 49, .13), transparent 34%),
    radial-gradient(circle at 14% 74%, rgba(255, 190, 128, .10), transparent 30%),
    linear-gradient(180deg, #fffaf6 0%, #fff6ee 52%, #fffaf6 100%);
}

.capability-deck::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .4;
  background-image: linear-gradient(rgba(95, 56, 34, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95, 56, 34, .035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.capability-deck-sticky,
.capability-deck__sticky {
  position: sticky;
  top: 0;
  display: grid;
  grid-template-columns: minmax(420px, .72fr) minmax(620px, 1.28fr);
  align-items: center;
  gap: clamp(72px, 6vw, 128px);
  min-height: 100svh;
  width: calc(100% - 12vw);
  margin: 0 auto;
  overflow: visible;
}

.capability-deck-copy,
.capability-deck__heading { position: relative; z-index: 5; }
.capability-deck__heading > span { color: var(--motion-orange); font-size: 12px; letter-spacing: .24em; }
.capability-deck__heading h2 { max-width: 560px; margin: 14px 0 22px; font-size: clamp(42px, 4vw, 64px); line-height: 1.08; letter-spacing: -.035em; }
.capability-deck__heading h2 em { color: #dd4b17; font-style: normal; }
.capability-deck__heading > p { max-width: 460px; color: #71594a; line-height: 1.9; }
.capability-deck-kicker { color: var(--motion-orange); font-size: 12px; letter-spacing: .24em; text-transform: uppercase; }
.capability-deck-title { max-width: 620px; margin: 14px 0 22px; font-size: clamp(38px, 5.5vw, 76px); line-height: 1.04; letter-spacing: -.05em; }
.capability-deck-desc { max-width: 460px; color: #71594a; line-height: 1.9; }
.capability-deck-progress,
.capability-deck__progress { position: absolute; left: 0; bottom: 8vh; width: min(300px, 80%); height: 2px; overflow: hidden; background: rgba(76,42,25,.14); }
.capability-deck-progress span,
.capability-deck__progress span { display: block; width: 100%; height: 100%; background: var(--motion-orange); transform: scaleX(var(--deck-progress)); transform-origin: left; }

.capability-card-stage,
.capability-deck__stage { position: relative; min-height: 590px; perspective: 1500px; }
.capability-card,
.capability-deck__card {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(370px, 56vw);
  aspect-ratio: .72;
  transform: translate(-50%, -50%);
  transform-style: preserve-3d;
  will-change: transform;
}
.capability-card-inner,
.capability-deck__card-inner { position: absolute; inset: 0; transform-style: preserve-3d; }

.capability-card-face,
.capability-deck__face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(255,245,235,.62));
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 35px 90px rgba(107,52,25,.22);
  backdrop-filter: blur(26px) saturate(165%);
  backface-visibility: hidden;
  overflow: hidden;
}
.capability-card-face::before,
.capability-deck__face::before { content: ""; position: absolute; width: 260px; height: 260px; right: -100px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(255,140,68,.38), transparent 68%); }
.capability-card-back,
.capability-deck__back { transform: rotateY(180deg); background: linear-gradient(145deg, rgba(48,29,20,.95), rgba(95,42,20,.86)); color: #fff8f0; }
.capability-deck__front > span { color: var(--motion-orange); font-size: 13px; letter-spacing: .16em; }
.capability-deck__front strong { position: relative; display: block; margin-top: auto; font-size: clamp(30px, 3vw, 44px); line-height: 1.08; letter-spacing: -.04em; }
.capability-deck__front p { position: relative; margin: 16px 0; color: #71594a; line-height: 1.8; }
.capability-deck__front small { color: #8f4827; letter-spacing: .08em; }
.capability-deck__back { align-items: flex-start; justify-content: flex-end; }
.capability-deck__back > span { color: var(--motion-amber); font-size: 12px; letter-spacing: .18em; }
.capability-deck__back b { font-size: clamp(34px, 4vw, 58px); }
.capability-deck__back p { margin: 18px 0 12px; color: rgba(255,248,240,.78); line-height: 1.75; }
.capability-deck__back small { color: rgba(255,248,240,.56); line-height: 1.6; }
.capability-deck__back i { margin-top: 10px; color: rgba(255,255,255,.62); font-size: 12px; font-style: normal; letter-spacing: .22em; }
.capability-card-index { color: var(--motion-orange); font-size: 13px; letter-spacing: .22em; }
.capability-card h3 { position: relative; margin: 0; font-size: clamp(30px, 3vw, 44px); line-height: 1.08; letter-spacing: -.04em; }
.capability-card p { position: relative; margin: 16px 0 0; color: #71594a; line-height: 1.8; }
.capability-card-back p { color: rgba(255,248,240,.72); }
.capability-card-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.capability-card-tags span { padding: 7px 12px; border: 1px solid rgba(255,90,31,.18); border-radius: 999px; color: #8f4827; font-size: 11px; letter-spacing: .08em; }
.capability-card-back .capability-card-tags span { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.8); }

/* Scroll-composed editorial wall — intentionally distinct from the card deck */
.editorial-stage {
  --editorial-progress: 0;
  position: relative;
  height: 260vh;
  overflow: clip;
  background:
    radial-gradient(circle at 13% 24%, rgba(255, 157, 92, .16), transparent 30%),
    radial-gradient(circle at 88% 72%, rgba(113, 162, 201, .18), transparent 34%),
    linear-gradient(155deg, #f7f2ea 0%, #fffaf5 50%, #edf3f5 100%);
}

.editorial-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .48;
  background-image:
    linear-gradient(rgba(63, 46, 36, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63, 46, 36, .035) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
}

.editorial-stage__sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100svh;
  padding: clamp(78px, 8vh, 104px) clamp(20px, 6vw, 80px) clamp(38px, 5vh, 62px);
  overflow: hidden;
}

.editorial-stage__head {
  z-index: 4;
  margin-bottom: clamp(22px, 3vh, 38px);
}

.editorial-stage__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.editorial-stage__hint {
  color: #d65321;
  font-size: 10px;
  letter-spacing: .2em;
}

.motion-v2 .editorial-stage .featured {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  min-height: clamp(500px, 61vh, 690px);
  perspective: 1400px;
}

.motion-v2 .editorial-stage .featured-item {
  aspect-ratio: auto;
  min-height: 0;
  clip-path: inset(0 round 30px);
  transform-origin: center;
  will-change: transform, opacity, clip-path;
}

.motion-v2 .editorial-stage .featured-item:nth-child(1) {
  grid-column: 1 / 8;
  grid-row: 1 / 3;
}

.motion-v2 .editorial-stage .featured-item:nth-child(2) {
  grid-column: 8 / 13;
  grid-row: 1;
}

.motion-v2 .editorial-stage .featured-item:nth-child(3) {
  grid-column: 8 / 13;
  grid-row: 2;
}

.motion-v2 .editorial-stage .featured-media img {
  transform: scale(1.12);
  will-change: transform;
}

.motion-v2 .editorial-stage .featured-item:hover .featured-media img {
  transform: scale(1.05);
}

.editorial-stage__progress {
  position: relative;
  z-index: 4;
  width: min(360px, 42vw);
  height: 2px;
  margin-top: clamp(18px, 2.8vh, 32px);
  overflow: hidden;
  background: rgba(63, 46, 36, .14);
}

.editorial-stage__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #ff5a1f, #ffb347);
  transform: scaleX(var(--editorial-progress));
  transform-origin: left;
}

/* Centered about statement — revealed by vertical scroll */
.about-story {
  position: relative;
  height: 340vh;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 134, 72, .12), transparent 32%),
    linear-gradient(180deg, #f4f1eb 0%, #fbf7f1 100%);
}
.about-story__sticky {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  width: calc(100% - 12vw);
  margin: 0 auto;
  text-align: center;
}
.about-story .section-tag { margin-bottom: clamp(22px, 4vh, 44px); }
.about-manifesto {
  max-width: 1500px;
  font-family: var(--font-display);
  font-size: clamp(58px, 8.5vw, 148px);
  font-weight: 650;
  line-height: 1.06;
  letter-spacing: -.025em;
}
.about-manifesto-line { display: block; padding-block: .025em; }
.about-manifesto-line.accent { color: #e5531d; }
.about-reveal-char {
  display: inline-block;
  opacity: .08;
  filter: blur(9px);
  transform: translateY(.32em);
  will-change: opacity, filter, transform;
}
.about-story__summary {
  max-width: 760px;
  margin-top: clamp(30px, 5vh, 58px);
  color: #6e5b4e;
  font-size: clamp(13px, 1.1vw, 16px);
  line-height: 2;
  letter-spacing: .04em;
  opacity: 0;
  transform: translateY(24px);
}
.about-story__rule { width: min(360px, 42vw); height: 2px; margin-top: 42px; overflow: hidden; background: rgba(77,52,37,.1); }
.about-story__rule span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--motion-orange), var(--motion-amber)); transform: scaleX(0); transform-origin: left; }

/* Category pages */
.motion-v2 .page-hero { min-height: min(640px, 78svh); display: flex; align-items: center; }
.motion-v2 .page-hero-title { display: flex; flex-wrap: wrap; overflow: hidden; }
.motion-char { display: inline-block; transform: translateY(115%) rotate(3deg); opacity: 0; }
.motion-ready .motion-char { transform: translateY(0) rotate(0); opacity: 1; transition: transform .9s var(--motion-ease), opacity .6s ease; transition-delay: calc(var(--char-index, 0) * 35ms + 120ms); }
.motion-v2 .page-hero-bg { transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(1.08); will-change: transform; }

.motion-v2 .work-card {
  clip-path: inset(0 0 0 0 round 24px);
  transform: translateY(0);
  opacity: 1;
  transition: border-color .35s, box-shadow .35s;
}
.motion-v2 .work-card.motion-visible {
  animation: workCardReveal 1s var(--motion-ease) both;
  animation-delay: var(--motion-delay, 0ms);
}

@keyframes workCardReveal {
  from {
    clip-path: inset(0 0 100% 0 round 24px);
    transform: translateY(52px);
  }
  to {
    clip-path: inset(0 0 0 0 round 24px);
    transform: translateY(0);
  }
}
.motion-v2 .work-card-thumb img { content-visibility: auto; }

/* Lightbox spatial opening and tiled long artworks */
.motion-v2 .lightbox .lb-inner,
.motion-v2 .lightbox .lightbox-inner,
.motion-v2 .lightbox .lightbox-content {
  transform-origin: var(--lb-x, 50%) var(--lb-y, 50%);
}
.motion-v2 .lightbox.open .lb-inner,
.motion-v2 .lightbox.open .lightbox-inner,
.motion-v2 .lightbox.open .lightbox-content { animation: lightboxOrigin .48s var(--motion-ease) both; }
@keyframes lightboxOrigin { from { opacity: 0; transform: translate3d(var(--lb-dx, 0), var(--lb-dy, 20px), 0) scale(var(--lb-scale, .76)); } }
.lb-tile-stack { display: flex; flex-direction: column; width: min(92vw, 1400px); margin: 0 auto; line-height: 0; }
.lb-tile-stack img { display: block; width: 100%; height: auto; margin: 0; padding: 0; }
.lightbox:has(.lb-tile-stack) { align-items: flex-start; overflow: auto; padding-block: 5vh; }

@media (max-width: 1024px) {
  .editorial-stage__sticky { padding-top: 72px; padding-bottom: 28px; }
  .motion-v2 .editorial-stage .featured { min-height: clamp(420px, 54vh, 540px); }
  .editorial-stage__head { margin-bottom: 18px; }
  .capability-deck-sticky, .capability-deck__sticky { grid-template-columns: minmax(330px, .78fr) minmax(520px, 1.22fr); gap: 38px; width: min(100% - 32px, 976px); }
  .capability-deck__heading h2 { font-size: clamp(40px, 5vw, 54px); }
  .capability-card-stage, .capability-deck__stage { min-height: 520px; }
  .capability-card, .capability-deck__card { width: min(320px, 46vw); }
}

@media (max-width: 768px), (pointer: coarse) {
  .motion-v2 .liquid-stage { transform: none; }
  .editorial-stage { height: auto; overflow: visible; }
  .editorial-stage__sticky { position: relative; min-height: auto; padding: 94px 20px 78px; overflow: visible; }
  .editorial-stage__head { align-items: flex-start; }
  .editorial-stage__meta { align-items: flex-start; }
  .editorial-stage__hint { display: none; }
  .motion-v2 .editorial-stage .featured { display: grid; grid-template-columns: 1fr; grid-template-rows: none; min-height: auto; }
  .motion-v2 .editorial-stage .featured-item:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 320px; aspect-ratio: 4 / 3; transform: none !important; clip-path: none !important; opacity: 1 !important; }
  .motion-v2 .editorial-stage .featured-media img { transform: none !important; }
  .editorial-stage__progress { display: none; }
  .motion-marquee { height: auto; padding: 84px 0; }
  .motion-marquee__sticky { position: relative; min-height: auto; padding: 0; overflow: visible; }
  .motion-marquee-head, .motion-marquee__header { align-items: flex-start; flex-direction: column; width: min(100% - 32px, 620px); }
  .motion-marquee-note { text-align: left; }
  .motion-marquee figure { width: min(78vw, 330px); border-radius: 22px; }
  .motion-marquee__track { padding-left: 16px; transform: none !important; }
  .motion-marquee__viewport { overflow-x: auto; scrollbar-width: thin; }
  .capability-deck { height: auto; padding: 96px 0; background: linear-gradient(180deg, #fffaf6, #fff1e6); }
  .capability-deck-sticky, .capability-deck__sticky { position: relative; display: block; min-height: auto; width: min(100% - 32px, 620px); overflow: visible; }
  .capability-card-stage, .capability-deck__stage { display: grid; gap: 18px; min-height: auto; margin-top: 42px; perspective: none; }
  .capability-card, .capability-deck__card { position: relative; inset: auto; width: 100%; aspect-ratio: auto; min-height: 390px; transform: none !important; }
  .capability-card-inner, .capability-deck__card-inner { position: relative; min-height: 390px; transform: none !important; }
  .capability-card-face, .capability-deck__face { min-height: 390px; }
  .capability-card-back, .capability-deck__back { display: none; }
  .motion-v2 .work-card:hover { transform: translateY(0); }
  .motion-v2 .work-card:active { transform: scale(.985); }
  .about-story { height: auto; padding: 110px 0; }
  .about-story__sticky { position: relative; min-height: auto; width: min(100% - 32px, 620px); }
  .about-manifesto { font-size: clamp(48px, 15vw, 82px); }
  .about-reveal-char { opacity: 1; filter: none; transform: none; }
  .about-story__summary { opacity: 1; transform: none; }
  .about-story__rule span { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-v2 { scroll-behavior: auto; }
  .route-transition { display: none; }
  .motion-v2 .hero,
  .motion-v2 .liquid-stage,
  .motion-v2 .hero-title .line > span,
  .motion-v2 .hero-eyebrow,
  .motion-v2 .hero-desc,
  .motion-v2 .hero-actions,
  .motion-v2 .hero-stats,
  .motion-char,
  .motion-v2 .work-card,
  .motion-v2 [data-motion="editorial"] .featured-item {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
  .motion-marquee-viewport, .motion-marquee__viewport { overflow-x: auto; scrollbar-width: thin; }
  .editorial-stage { height: auto; overflow: visible; }
  .editorial-stage__sticky { position: relative; min-height: auto; padding-block: 96px; overflow: visible; }
  .motion-v2 .editorial-stage .featured { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; min-height: auto; }
  .motion-v2 .editorial-stage .featured-item:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 320px; aspect-ratio: 4 / 3; }
  .editorial-stage__progress { display: none; }
  .motion-marquee-track, .motion-marquee__track { transform: none !important; }
  .motion-marquee-group[aria-hidden="true"], .motion-marquee__group[aria-hidden="true"] { display: none; }
  .capability-deck { height: auto; padding: 96px 0; background: #fff7ef; }
  .capability-deck-sticky, .capability-deck__sticky { position: relative; display: block; min-height: auto; overflow: visible; }
  .capability-card-stage, .capability-deck__stage { display: grid; gap: 20px; min-height: auto; margin-top: 40px; }
  .capability-card, .capability-deck__card { position: relative; inset: auto; width: 100%; max-width: 520px; min-height: 380px; transform: none !important; }
  .capability-card-inner, .capability-deck__card-inner { position: relative; min-height: 380px; animation: none !important; }
  .capability-card-back, .capability-deck__back { display: none; }
  .capability-card-face, .capability-deck__face { min-height: 380px; }
  .about-story { height: auto; padding: 110px 0; }
  .about-story__sticky { position: relative; min-height: auto; }
  .about-reveal-char, .about-story__summary { opacity: 1 !important; filter: none !important; transform: none !important; }
  .about-story__rule span { transform: scaleX(1) !important; }
}
