/* O Reencontro — capability motion stage v2 · source-grounded metamorphosis */
.capability-film {
  --motion-p: 0;
  --motion-copper: #d36d45;
  --motion-paper: #efe6d7;
  --motion-ink: #1d1714;
  position: relative;
  height: 470vh;
  color: var(--motion-ink);
  background: var(--motion-paper);
  isolation: isolate;
}

.capability-film__sticky {
  position: sticky;
  top: 0;
  height: 100svh;
  min-height: 620px;
  overflow: clip;
  background: #f0e7d8;
  transition: background-color .8s var(--ease), color .8s var(--ease);
}

.capability-film[data-concept="launch"] .capability-film__sticky {
  color: #fff5e9;
  background: #100912;
}

.capability-film[data-concept="real-estate"] .capability-film__sticky {
  color: #201c17;
  background: #ddd2c0;
}

.capability-film[data-concept="petshop"] .capability-film__sticky {
  color: #172058;
  background: #bff165;
}

.capability-film__wash,
.capability-film__grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.capability-film__wash {
  z-index: 0;
  opacity: .86;
  background:
    radial-gradient(circle at 61% 48%, rgba(104, 55, 255, .42), transparent 28%),
    radial-gradient(circle at 76% 57%, rgba(255, 102, 67, .2), transparent 36%),
    linear-gradient(130deg, #100912 5%, #1b0b24 60%, #09070b);
  transition: opacity .8s var(--ease), filter .8s var(--ease), background .8s var(--ease);
}

.capability-film[data-concept="real-estate"] .capability-film__wash {
  opacity: .62;
  filter: saturate(.7);
  background:
    radial-gradient(circle at 75% 20%, rgba(255, 250, 230, .98), transparent 32%),
    linear-gradient(135deg, #eee7da, #b8ad99 76%);
}

.capability-film[data-concept="petshop"] .capability-film__wash {
  opacity: .9;
  filter: none;
  background:
    radial-gradient(circle at 68% 50%, rgba(115, 85, 255, .42), transparent 30%),
    linear-gradient(135deg, #c8f56b, #91e9d5 64%, #74d6ff);
}

.capability-film__grid {
  z-index: 1;
  opacity: .14;
  background-image:
    linear-gradient(currentColor 1px, transparent 1px),
    linear-gradient(90deg, currentColor 1px, transparent 1px);
  background-size: 5vw 5vw;
  mask-image: radial-gradient(circle at 62% 50%, #000, transparent 78%);
}

.capability-film__head {
  position: absolute;
  z-index: 30;
  top: clamp(6.5rem, 11vh, 8.7rem);
  left: clamp(1.4rem, 4.2vw, 5.4rem);
  width: min(44vw, 660px);
  pointer-events: none;
}

.capability-film__head > p:first-child {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 0 0 1.25rem;
  font-size: clamp(.52rem, .62vw, .68rem);
  font-weight: 850;
  letter-spacing: .2em;
}

.capability-film__head > p:first-child span {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: #fff8ee;
  background: var(--motion-copper);
  border-radius: 50%;
  letter-spacing: 0;
}

.capability-film__head h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.8rem, 4.6vw, 6.4rem);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.064em;
}

.capability-film__head h2 em {
  color: var(--motion-copper);
  font-weight: 400;
}

.capability-film[data-concept="petshop"] .capability-film__head h2 em { color: #ff4168; }
.capability-film[data-concept="real-estate"] .capability-film__head h2 em { color: #7a5c35; }

.capability-film__head > p:last-child {
  max-width: 34rem;
  margin: 1.15rem 0 0;
  color: color-mix(in srgb, currentColor 66%, transparent);
  font-size: clamp(.78rem, .9vw, 1rem);
  line-height: 1.55;
}

.capability-film__tabs {
  position: absolute;
  z-index: 40;
  top: clamp(6.5rem, 11vh, 8.7rem);
  right: clamp(1.4rem, 4.2vw, 5.4rem);
  display: grid;
  width: min(36vw, 500px);
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid color-mix(in srgb, currentColor 28%, transparent);
}

.capability-film__tabs button {
  display: grid;
  min-height: 74px;
  padding: .95rem .65rem .8rem;
  gap: .24rem;
  color: color-mix(in srgb, currentColor 52%, transparent);
  background: transparent;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  text-align: left;
  transition: color .4s var(--ease), background .4s var(--ease), transform .4s var(--ease);
}

.capability-film__tabs button + button { border-left: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.capability-film__tabs button span { color: var(--motion-copper); font-size: .48rem; font-weight: 900; }
.capability-film__tabs button b { font-size: clamp(.55rem, .7vw, .72rem); letter-spacing: .04em; }
.capability-film__tabs button small { font-size: .46rem; letter-spacing: .08em; }

.capability-film__tabs button[aria-selected="true"] {
  color: currentColor;
  background: color-mix(in srgb, currentColor 8%, transparent);
  box-shadow: inset 0 -3px var(--motion-copper);
  transform: translateY(-3px);
}

.capability-film__stage {
  position: absolute;
  z-index: 10;
  inset: 0;
  overflow: clip;
  perspective: 1500px;
  transform-style: preserve-3d;
}

.motion-monument {
  position: absolute;
  z-index: 0;
  top: 43%;
  left: 50%;
  width: 100%;
  color: currentColor;
  font-size: clamp(8rem, 20vw, 24rem);
  font-weight: 950;
  line-height: .68;
  letter-spacing: -.09em;
  text-align: center;
  white-space: nowrap;
  opacity: .045;
  transform: translate(-50%, -50%) scale(var(--word-scale, 1));
  transition: color .8s var(--ease);
}

.motion-scene {
  position: absolute;
  z-index: 2;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.025);
  transition: opacity .65s var(--ease), transform .65s var(--ease), visibility 0s linear .65s;
}

.motion-scene.is-active {
  z-index: 3;
  visibility: visible;
  opacity: 1;
  transform: scale(1);
  transition-delay: 0s;
}

/* Launch — exploded engineering */
.launch-aura {
  position: absolute;
  top: 42%;
  left: 68%;
  width: min(58vw, 900px);
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(112, 70, 255, .72), rgba(72, 24, 106, .2) 42%, transparent 68%);
  border-radius: 50%;
  opacity: var(--launch-aura-opacity, .45);
  filter: blur(8px);
  transform: translate(-50%, -50%) scale(var(--launch-aura-scale, .65));
}

.launch-beam {
  position: absolute;
  z-index: 12;
  top: 52%;
  left: 40%;
  width: var(--launch-beam-width, 0%);
  height: 2px;
  background: linear-gradient(90deg, transparent, #ff744e 18%, #fff1d9 52%, #ff744e 82%, transparent);
  box-shadow: 0 0 12px #ff744e, 0 0 46px rgba(255, 116, 78, .9);
  opacity: var(--launch-beam-opacity, 0);
  transform: translateY(-50%);
}

.launch-assembly {
  position: absolute;
  z-index: 8;
  top: 54%;
  left: 70%;
  width: clamp(320px, 39vw, 690px);
  aspect-ratio: 1.24;
  transform: translate(-50%, -50%) rotateX(var(--assembly-rx, 0deg)) rotateY(var(--assembly-ry, 0deg)) scale(var(--assembly-scale, .72));
  transform-style: preserve-3d;
}

.launch-core,
.launch-piece {
  position: absolute;
  top: 50%;
  left: 50%;
  transform-style: preserve-3d;
}

.launch-core {
  z-index: 9;
  display: grid;
  width: 42%;
  aspect-ratio: 1;
  place-content: center;
  color: #fff3e8;
  background:
    radial-gradient(circle at 35% 32%, rgba(255,255,255,.22), transparent 28%),
    linear-gradient(145deg, rgba(112,63,255,.94), rgba(28,11,43,.98));
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 50%;
  box-shadow: inset -30px -30px 80px rgba(255,92,64,.32), 0 0 90px rgba(102,54,255,.55);
  text-align: center;
  transform: translate(-50%, -50%) rotate(var(--core-rotate, 0deg)) scale(var(--core-scale, .35));
}

.launch-core::before,
.launch-core::after {
  position: absolute;
  inset: 11%;
  content: "";
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
}

.launch-core::after { inset: 24%; }
.launch-core span { font-size: clamp(.36rem, .55vw, .58rem); font-weight: 900; letter-spacing: .17em; }
.launch-core strong { color: #ffb077; font-family: Georgia, serif; font-size: clamp(1.8rem, 4vw, 4.5rem); font-weight: 400; line-height: .9; }
.launch-core b { font-size: clamp(.34rem, .48vw, .5rem); letter-spacing: .14em; }

.launch-piece {
  z-index: 4;
  opacity: var(--piece-opacity, .92);
  transform: translate3d(calc(-50% + var(--piece-x, 0px)), calc(-50% + var(--piece-y, 0px)), var(--piece-z, 0px)) rotate(var(--piece-r, 0deg));
  filter: drop-shadow(0 20px 28px rgba(0,0,0,.32));
}

.launch-piece--shell { width: 70%; height: 42%; border: 2px solid rgba(255,174,119,.7); border-radius: 45% 55% 52% 48%; }
.launch-piece--frame { width: 54%; aspect-ratio: 1; border: 5px double rgba(196,183,255,.72); border-radius: 30%; }
.launch-piece--disc { width: 28%; aspect-ratio: 1; background: linear-gradient(145deg,#e66f47,#30143f); border-radius: 50%; box-shadow: inset 0 0 0 8px rgba(255,255,255,.11); }
.launch-piece--glass { width: 34%; aspect-ratio: 1; background: radial-gradient(circle at 32% 28%,rgba(255,255,255,.5),rgba(108,74,255,.3) 40%,rgba(13,9,21,.85)); border: 1px solid rgba(255,255,255,.55); border-radius: 50%; backdrop-filter: blur(8px); }
.launch-piece--rail { width: 76%; height: 12px; background: linear-gradient(90deg,transparent,#ff7c54 22%,#d1c4ff 72%,transparent); border-radius: 999px; }
.launch-piece--signal { width: 38%; height: 38%; border-top: 3px solid #ff754e; border-right: 3px solid #ff754e; transform-origin: center; }

.launch-spec {
  position: absolute;
  z-index: 15;
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: .4rem .8rem;
  color: rgba(255,245,233,.72);
  opacity: var(--launch-spec-opacity, 0);
  transform: translateY(var(--launch-spec-y, 18px));
}

.launch-spec span { color: #ff8159; font-size: .48rem; }
.launch-spec b { font-size: clamp(.52rem, .66vw, .7rem); letter-spacing: .1em; }
.launch-spec i { grid-column: 1 / -1; width: 130px; height: 1px; background: linear-gradient(90deg,#ff754e,transparent); }
.launch-spec--left { top: 42%; left: 45%; }
.launch-spec--right { top: 66%; right: 7%; }

.motion-proof {
  position: absolute;
  z-index: 25;
  right: clamp(1.5rem, 4.2vw, 5.4rem);
  bottom: clamp(6.7rem, 11vh, 8.2rem);
  width: min(34vw, 520px);
  opacity: var(--proof-opacity, 0);
  transform: translate3d(0, var(--proof-y, 34px), 0);
}

.motion-proof span { display:block; margin-bottom:.9rem; font-size:clamp(.45rem,.58vw,.62rem); font-weight:900; letter-spacing:.2em; }
.motion-proof strong { display:block; font-size:clamp(2.2rem,4.4vw,5.6rem); line-height:.78; letter-spacing:-.055em; }
.motion-proof button { margin-top:1.2rem; padding:.8rem 1rem; color:currentColor; background:transparent; border:1px solid color-mix(in srgb,currentColor 45%,transparent); font-size:.55rem; font-weight:850; letter-spacing:.1em; }
.motion-proof--launch strong { color:#ff7650; }

/* Real estate — atmosphere solidifies into architecture */
.estate-fog {
  position: absolute;
  z-index: 2;
  inset: -20%;
  opacity: var(--estate-fog-opacity, .9);
  background:
    radial-gradient(ellipse at 65% 45%, rgba(255,255,255,.96), transparent 33%),
    radial-gradient(ellipse at 35% 65%, rgba(255,251,239,.75), transparent 35%);
  filter: blur(28px);
  transform: translate3d(var(--estate-fog-x, 0), 0, 0) scale(1.15);
}

.estate-sun {
  position:absolute;
  z-index:3;
  top:15%;
  right:12%;
  width:clamp(170px,22vw,380px);
  aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,253,230,.96),rgba(226,189,123,.22) 42%,transparent 70%);
  border-radius:50%;
  opacity:var(--estate-sun-opacity,0);
  transform:scale(var(--estate-sun-scale,.5));
}

.estate-image {
  position:absolute;
  z-index:5;
  inset:14% 0 8% 30%;
  overflow:hidden;
  clip-path:inset(var(--estate-clip, 50%) round 1.2rem);
  box-shadow:0 48px 130px rgba(52,43,31,.36);
  transform:perspective(1200px) rotateY(var(--estate-image-ry,-12deg)) translateZ(0) scale(var(--estate-image-scale,.88));
}

.estate-image::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(23,28,23,.05),rgba(23,28,23,.45)); }
.estate-image img { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.62) contrast(1.08) sepia(.08); }

.estate-plane {
  position:absolute;
  z-index:7;
  width:clamp(130px,18vw,310px);
  height:clamp(220px,34vh,420px);
  background:linear-gradient(150deg,rgba(255,255,255,.5),rgba(125,113,93,.12));
  border:1px solid rgba(255,255,255,.64);
  box-shadow:0 32px 72px rgba(55,43,28,.15);
  backdrop-filter:blur(15px);
  opacity:var(--estate-plane-opacity,0);
  transform:translate3d(var(--plane-x,0),var(--plane-y,0),var(--plane-z,0)) rotateY(var(--plane-ry,0deg));
}
.estate-plane--one { top:30%; left:30%; }
.estate-plane--two { top:18%; right:18%; height:48vh; }
.estate-plane--three { top:44%; right:3%; height:30vh; }

.estate-blueprint {
  position:absolute;
  z-index:9;
  inset:19% 3% 15% 32%;
  width:65%;
  height:66%;
  fill:none;
  stroke:rgba(93,68,40,.62);
  stroke-width:1.3;
  stroke-dasharray:1900;
  stroke-dashoffset:var(--blueprint-offset,1900);
  opacity:var(--blueprint-opacity,0);
}

.estate-material {
  position:absolute;
  z-index:8;
  opacity:var(--estate-material-opacity,0);
  transform:translate3d(var(--material-x,0),var(--material-y,0),0) rotate(var(--material-r,0deg));
}
.estate-material--stone { right:39%; bottom:17%; width:16vw; height:11vw; min-width:170px; min-height:115px; background:linear-gradient(130deg,#d9c9ae,#826f56); clip-path:polygon(0 30%,70% 0,100% 28%,82% 100%,14% 84%); box-shadow:0 34px 58px rgba(68,51,34,.25); }
.estate-material--glass { right:10%; top:30%; width:11vw; height:25vw; min-width:120px; min-height:270px; background:linear-gradient(120deg,rgba(255,255,255,.58),rgba(130,164,158,.15)); border:1px solid rgba(255,255,255,.7); backdrop-filter:blur(12px); }

.estate-coordinates {
  position:absolute;
  z-index:15;
  left:4.2vw;
  bottom:18vh;
  display:flex;
  align-items:center;
  gap:.8rem;
  font-size:.52rem;
  font-weight:800;
  letter-spacing:.14em;
  opacity:var(--estate-coordinates-opacity,0);
}
.estate-coordinates i { width:70px; height:1px; background:currentColor; }
.motion-proof--estate { color:#f5eee4; text-shadow:0 2px 22px rgba(11,11,9,.45); }
.motion-proof--estate strong { font-family:Georgia,serif; font-weight:400; }
.motion-proof--estate p { margin:.9rem 0 0; font-size:.55rem; letter-spacing:.11em; }

/* Petshop — fluid energy becomes relationship and offer */
.pet-fluid {
  position:absolute;
  z-index:7;
  top:50%;
  left:67%;
  width:clamp(240px,28vw,480px);
  aspect-ratio:1;
  border-radius:47% 53% 43% 57% / 58% 42% 58% 42%;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.86),transparent 22%),
    radial-gradient(circle at 68% 74%,rgba(255,65,104,.75),transparent 36%),
    linear-gradient(145deg,rgba(84,69,255,.9),rgba(87,225,216,.72));
  box-shadow:inset -35px -42px 80px rgba(42,61,255,.36),0 35px 85px rgba(42,61,255,.25);
  opacity:var(--pet-fluid-opacity,1);
  filter:saturate(1.18);
  transform:translate(-50%,-50%) scale(var(--pet-fluid-scale,.12)) rotate(var(--pet-fluid-r,0deg));
}
.pet-fluid i,.pet-fluid b { position:absolute; inset:13%; border:1px solid rgba(255,255,255,.45); border-radius:inherit; }
.pet-fluid b { inset:27%; }

.pet-droplets { position:absolute; z-index:8; top:50%; left:67%; }
.pet-droplets i { position:absolute; width:clamp(12px,2vw,32px); aspect-ratio:1; background:#5f52ff; border:1px solid rgba(255,255,255,.7); border-radius:50% 55% 48% 58%; opacity:var(--drop-opacity,0); transform:translate(var(--drop-x,0),var(--drop-y,0)) scale(var(--drop-scale,.2)); }
.pet-droplets i:nth-child(2n) { background:#ff4168; }
.pet-droplets i:nth-child(3n) { background:#ffdc4d; }

.pet-portrait {
  position:absolute;
  z-index:9;
  top:15%;
  right:-2%;
  bottom:7%;
  width:68%;
  overflow:hidden;
  clip-path:circle(var(--pet-clip,0%) at 55% 48%);
  transform:rotate(var(--pet-image-r,-7deg)) scale(var(--pet-image-scale,1.15));
}
.pet-portrait::after { position:absolute; inset:0; content:""; background:linear-gradient(125deg,rgba(108,83,255,.42),transparent 42%,rgba(255,65,104,.2)); mix-blend-mode:color; }
.pet-portrait img { width:100%; height:100%; object-fit:cover; object-position:69% 56%; filter:saturate(.64) contrast(1.12); transform:scale(1.24); transform-origin:center; }

.pet-word { position:absolute; z-index:10; font-size:clamp(6rem,16vw,18rem); font-weight:950; line-height:.65; letter-spacing:-.09em; opacity:var(--pet-word-opacity,0); mix-blend-mode:multiply; }
.pet-word--one { top:31%; left:42%; color:#2a3dff; transform:translateX(var(--pet-word-one-x,-160px)); }
.pet-word--two { top:58%; right:1%; color:#ff4168; transform:translateX(var(--pet-word-two-x,180px)); }

.pet-split {
  position:absolute;
  z-index:18;
  top:23%;
  bottom:14%;
  display:flex;
  width:29%;
  padding:2rem;
  flex-direction:column;
  justify-content:flex-end;
  opacity:var(--pet-split-opacity,0);
  transform:translateY(var(--pet-split-y,80px));
}
.pet-split span { font-size:.5rem; font-weight:900; letter-spacing:.16em; }
.pet-split strong { margin-top:.7rem; font-size:clamp(1.7rem,3.5vw,4.3rem); line-height:.8; }
.pet-split--service { right:33%; color:#fff; background:rgba(42,61,255,.9); clip-path:polygon(9% 0,100% 8%,91% 100%,0 91%); }
.pet-split--product { right:3%; color:#172058; background:rgba(255,220,77,.94); clip-path:polygon(0 7%,92% 0,100% 92%,8% 100%); }
.motion-proof--pet { right:auto; left:4.2vw; width:min(33vw,480px); }
.motion-proof--pet strong { color:#2a3dff; }
.motion-proof--pet button { background:#2a3dff; color:#fff; border-color:#2a3dff; }

.capability-film__hud {
  position:absolute;
  z-index:60;
  right:clamp(1.4rem,4.2vw,5.4rem);
  bottom:clamp(1.5rem,3.2vh,2.4rem);
  left:clamp(1.4rem,4.2vw,5.4rem);
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1.3rem;
}
.capability-film__hud p { margin:0; font-size:clamp(.48rem,.58vw,.62rem); font-weight:850; letter-spacing:.14em; }
.capability-film__hud p > span:first-child { color:var(--motion-copper); }
.capability-film__progress { position:relative; height:1px; background:color-mix(in srgb,currentColor 26%,transparent); }
.capability-film__progress i { position:absolute; inset:0 auto 0 0; width:calc(var(--motion-p) * 100%); background:currentColor; }
.capability-film__progress b { position:absolute; top:50%; left:calc(var(--motion-p) * 100%); width:9px; aspect-ratio:1; background:var(--motion-copper); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 5px color-mix(in srgb,var(--motion-copper) 18%,transparent); }
.capability-film__instruction span { display:inline-block; color:var(--motion-copper); font-size:.9rem; animation:motion-nudge 1.4s ease-in-out infinite; }

@keyframes motion-nudge { 50% { transform:translateY(4px); } }

@media (max-width: 1050px) {
  .capability-film__head { width:47vw; }
  .capability-film__tabs { width:42vw; }
  .launch-assembly { left:70%; width:42vw; }
  .motion-proof { width:39vw; }
  .estate-image { left:30%; }
  .pet-portrait { width:64%; }
}

@media (max-width: 720px) {
  .capability-film { height:430vh; }
  .capability-film__sticky { min-height:700px; }
  .capability-film__grid { background-size:14vw 14vw; }
  .capability-film__head { top:5.2rem; left:1rem; width:calc(100% - 2rem); }
  .capability-film__head > p:first-child { margin-bottom:.7rem; font-size:.45rem; }
  .capability-film__head > p:first-child span { width:1.7rem; height:1.7rem; }
  .capability-film__head h2 { max-width:12ch; font-size:clamp(2.15rem,10.2vw,3.7rem); line-height:.88; }
  .capability-film__head > p:last-child { display:none; }
  .capability-film__tabs { top:17.8rem; right:1rem; left:1rem; width:auto; }
  .capability-film__tabs button { min-height:58px; padding:.7rem .45rem; }
  .capability-film__tabs button b { font-size:.52rem; }
  .capability-film__tabs button small { display:none; }
  .motion-monument { top:49%; font-size:34vw; writing-mode:vertical-rl; }
  .launch-assembly { top:59%; left:50%; width:82vw; }
  .launch-spec { display:none; }
  .launch-beam { left:2%; }
  .motion-proof { right:1rem; bottom:7.7rem; left:1rem; width:auto; }
  .motion-proof span { margin-bottom:.5rem; font-size:.42rem; }
  .motion-proof strong { font-size:clamp(1.8rem,10vw,3.3rem); }
  .motion-proof button { margin-top:.75rem; padding:.65rem .75rem; }
  .estate-image { inset:29% -8% 17% 7%; }
  .estate-plane { width:37vw; height:33vh; }
  .estate-plane--one { top:38%; left:2%; }
  .estate-plane--two { top:28%; right:5%; height:39vh; }
  .estate-plane--three { top:53%; right:-5%; height:25vh; }
  .estate-blueprint { inset:31% -5% 19% 2%; width:100%; height:51%; }
  .estate-material--stone { right:48%; bottom:19%; width:39vw; height:27vw; min-width:0; min-height:0; }
  .estate-material--glass { right:2%; top:38%; width:28vw; height:55vw; min-width:0; min-height:0; }
  .estate-coordinates { display:none; }
  .motion-proof--estate { color:#fff7eb; text-shadow:0 2px 15px rgba(10,10,8,.7); }
  .pet-fluid { top:50%; left:56%; width:76vw; }
  .pet-droplets { top:50%; left:56%; }
  .pet-portrait { top:34%; right:-8%; bottom:13%; width:105%; }
  .pet-portrait img { transform:scale(1.42); }
  .pet-word { font-size:30vw; }
  .pet-word--one { top:37%; left:2%; }
  .pet-word--two { top:59%; right:-9%; }
  .pet-split { top:45%; bottom:14%; width:44%; padding:1rem; }
  .pet-split strong { font-size:6.3vw; }
  .pet-split--service { right:49%; }
  .pet-split--product { right:3%; }
  .motion-proof--pet { right:auto; bottom:5.2rem; left:1rem; width:72%; padding:.9rem; background:rgba(191,241,101,.9); box-shadow:0 18px 50px rgba(23,32,88,.12); backdrop-filter:blur(10px); }
  .motion-proof--pet span { display:none; }
  .motion-proof--pet strong { font-size:clamp(1.9rem,8.3vw,2.75rem); line-height:.8; }
  .motion-proof--pet button { margin-top:.65rem; font-size:.45rem; }
  .capability-film__hud { right:1rem; bottom:1.1rem; left:1rem; grid-template-columns:auto 1fr; gap:.75rem; }
  .capability-film__hud p { font-size:.43rem; }
  .capability-film__instruction { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  .capability-film { height:auto; min-height:100svh; }
  .capability-film__sticky { position:relative; }
  .motion-scene,
  .capability-film__sticky,
  .capability-film__wash,
  .capability-film__tabs button { transition-duration:.01ms !important; }
  .capability-film__instruction { display:none; }
}
